例如,有一个名为" Lookout Security& amp;防病毒"在谷歌市场。
此应用程序可以显示访问您的位置,联系人,SMS和MMS数据的所有应用程序。
我想知道在Android中如何做到这一点背后的一般想法(我不是要求源代码!)
此应用程序不需要root权限即可完成所有这些操作,因此我相信Android SDK实际上提供了这些功能吗?
答案 0 :(得分:3)
因此有一些名为PackageManager的内容可以为您提供有关PackageInfo的信息,您可以从中探索更多内容并提取PERMISSION_GRANTED。
答案 1 :(得分:1)
我的想法是获取所有已安装软件包(应用程序)的列表,并检查它们在Manifest中注册的权限。
这可以使用PackageManager
- getInstalledPackages()
-method命名GET_PERMISSIONS
-flag来完成。
PackageManager manager = context.getPackageManager();
for (PackageInfo info : manager.getInstalledPackages(PackageManager.GET_PERMISSIONS){
for (PermissionInfo perm : info.permissions){
// Check if your requested permission is in the list
}
}