Android的SecurityException

时间:2012-02-03 10:27:35

标签: android security exception permissions manifest

我有这段代码:

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权限。

有什么想法吗?

由于

3 个答案:

答案 0 :(得分:0)

确保它在此网址上与此字符串匹配: MODIFY_PHONE_STATE

答案 1 :(得分:0)

ITelephony是android的内部类,你不应该使用它

答案 2 :(得分:0)

请参阅此答案:How to grant system permission

你需要对android.permission.MODIFY_PHONE_STATE采用类似的方法

如果您已经这样做了,请参阅上一页上的更多链接,其中提供了有关如何使用权限的更多详细信息。

希望这有帮助。