我想使用 java 反射更改 SIM 卡 PIN 码。最终应用程序将安装在系统/应用程序中。
我正在使用的代码是:
String ICCCARD_CLASS = "com.android.internal.telephony.IccCard";
String PHONEBASE_CLASS = "com.android.internal.telephony.PhoneBase";
Object phoneBaseObject = Class.forName(PHONEBASE_CLASS).getConstructor();
Object iccCardObject = Class.forName(ICCCARD_CLASS).newInstance();
Method iccCardMethod = Class.forName(ICCCARD_CLASS).getMethod("changeIccLockPassword", String.class, String.class, Message.class);
//Method arguments are...
Object arglist1[] = new Object[3];
arglist1[0] = "1111"; //oldPass
arglist1[1] = "2222"; //newPass
arglist1[2] = new Message(); //message handler (not needed)
iccCardMethod.invoke(iccCardObject, arglist1);
但是,我遇到了很多异常,例如“没有这样的方法”、“实例化异常”……在我的 Android 项目中,没有创建 IccCard 和 PhoneBase 的包。
TNX 黑客!