1
我要给客户(主要是孩子)提供手机(Android),并且想要创建'锁定'应用程序。 我不希望客户打扰手机的PIN码,但是当您打开设备时,'锁定'应用程序应该开始。然后我覆盖按钮,他们不应该能够打电话。是否可以解锁SIM卡,并让软件输入密码
唯一的一点是,如果是移除了SIM卡,或者在被盗的情况下,我想在SIM卡上输入密码。那么是否有可能我的'锁'应用程序通过将密码放入密码来解锁SIM卡?
我该怎么做?
我要给客户(主要是孩子)提供手机(Android),并且想要创建'锁定'应用程序。 我不希望客户打扰手机的PIN码,但是当您打开设备时,'锁定'应用程序应该开始。然后我覆盖按钮,他们不应该能够打电话。是否可以解锁SIM卡,并让软件输入密码
唯一的一点是,如果是移除了SIM卡,或者在被盗的情况下,我想在SIM卡上输入密码。那么是否有可能我的'锁'应用程序通过将密码放入密码来解锁SIM卡?
我该怎么做?
这是可能的。我做这个代码:
try {
@SuppressWarnings("rawtypes")
Class clazz = Class.forName(telephonyManager.getClass().getName());
Method m = clazz.getDeclaredMethod("getITelephony");
m.setAccessible(true);
ITelephony it = (ITelephony) m.invoke(telephonyManager);
if (it.supplyPin("1234")) {
// SIM unlocked
} else {
// not unlocked
}
} catch (Exception e) {
//
}
为了做到这一点,你需要的ITelephony接口。你可以找到它的来源here。在您的src文件夹中制作com.android.internal.telephony包,并将iTelephony.java放在那里。此方法使用* android.permission.MODIFY_PHONE_STATE *权限,该权限仅适用于Android 2.2。从版本2.3开始,此权限仅限于系统应用程序。如果您想在最新版本中使用该代码,则必须将应用程序apk文件从/ data/app移动到/ system/app文件夹。