我有这段代码:
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELPHONY_SERVICE);
Class clase = Class.forName(tm.getClass().getName());
Method m = clase.getDeclaredMethod("getITelephony");
m.setAccesible(true);
ITelephony it = (ITelephony) m.invoke(tm);
it.supplyPIN("1111");
当我尝试调用方法*supplyPIN("1111")*
时,我有一个SecurityException。
错误消息是:
java.lang.SecurityException: Neither user 10066 nor current process has android.permission.MODIFY_PHONE_STATE.
在我的Manifest.xml
我获得MODIFY_PHONE_STATE
权限。
有什么想法吗?
由于
答案 0 :(得分:0)
确保它在此网址上与此字符串匹配: MODIFY_PHONE_STATE
答案 1 :(得分:0)
ITelephony是android的内部类,你不应该使用它
答案 2 :(得分:0)
请参阅此答案:How to grant system permission
你需要对android.permission.MODIFY_PHONE_STATE采用类似的方法
如果您已经这样做了,请参阅上一页上的更多链接,其中提供了有关如何使用权限的更多详细信息。
希望这有帮助。