我尝试编写Android应用以阻止其他应用阅读我的联系人,即使这些应用获得了android.permission.READ_CONTACTS权限
我谷歌很多,但一无所获。谁能给我一些关于这个应用程序的想法...
谢谢!
答案 0 :(得分:0)
您可以阻止具有android.permission.READ_CONTACTS权限的应用。您可以通过包管理器API获取具有android.permission.READ_CONTACTS权限的应用列表。
如果您不想停用这些应用,可以通过反映使用 - http://androidxref.com/4.4.4_r1/xref/frameworks/base/core/java/android/app/AppOpsManager.java API撤消这些权限。
以下是ApoOpsManager.java中可用于阻止权限的方法
/ ** @hide * / public void setMode(int code,int uid,String packageName,int mode){
try { mService.setMode(code, uid, packageName, mode); } catch (RemoteException e) { }
}
要了解如何使用反射调用内部/隐藏api使用: http://jhshi.me/2014/04/02/get-package-usage-statistics-in-android/.similar
这种方法可能永远不会起作用,但是这是我能想到的唯一解决方法,因为没有直接的apis可以做到。