Android以编程方式设置或重置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 PIN,让我知道是否可行。如果可能的话,我该如何实施呢?

回答:

String ussdCode = "**04*"+oldPin+"*"+newPin+"*"+newPin+"#";

startActivity(new Intent("android.intent.action.CALL", Uri.parse("tel:" + ussdCode)));

以上是 Android以编程方式设置或重置SIM卡PIN码 的全部内容, 来源链接: utcz.com/qa/400700.html

回到顶部