2

例如,谷歌市场上有一个名为“Lookout Security & Antivirus”的流行应用程序。

此应用程序可以显示所有访问您的位置、联系人、短信和彩信数据的应用程序。

我想知道如何在 Android 中做到这一点的总体思路(我不是要源代码!)

这个应用程序不需要root权限来做所有这些,所以我相信Android SDK实际上提供了这些功能?

4

2 回答 2

3

因此,有一些称为PackageManager的东西可以为您提供有关PackageInfo的信息,您可以从中探索更多信息并提取 PERMISSION_GRANTED。

于 2013-03-02T20:53:33.023 回答
1

我的想法是获取所有已安装软件包(应用程序)的列表,并检查他们在清单中注册的权限。

这可以使用PackageManager-class 来完成,命名为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
  }
}
于 2013-03-02T20:58:32.360 回答