【发布时间】:2014-09-18 09:38:45
【问题描述】:
我正在通过我的应用程序通过这些线路动态解锁 SIM PIN
TelephonyManager manager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
int state = manager.getSimState();
if(state == TelephonyManager.SIM_STATE_PIN_REQUIRED || state == TelephonyManager.SIM_STATE_PUK_REQUIRED)
{
try {
@SuppressWarnings("rawtypes")
Class clazz = Class.forName(manager.getClass().getName());
Method m = clazz.getDeclaredMethod("getITelephony");
m.setAccessible(true);
ITelephony it = (ITelephony) m.invoke(manager);
if (it.supplyPin(simPin)) {
Toast.makeText(context,"SIM UnLocked",Toast.LENGTH_LONG).show();
} else {
Toast.makeText(context,"SIM UNLOCK FAILED",Toast.LENGTH_LONG).show();
}
} catch (Exception e) {
//
e.printStackTrace();
}
}else{
Toast.makeText(context,"SIM is not Locked",Toast.LENGTH_LONG).show();
}
现在我想知道已经尝试了多少次来解锁 SIM 卡,就像默认的 SIM PIN/PUK 解锁器告诉“还剩两次尝试”一样。让我知道是否有任何可能性。
【问题讨论】:
-
您找到解决方案了吗?
-
没有直接的方式,你可以放不。 SharedPreferences 中的尝试计数
标签: java android gsm telephony