android - 如何获取已安装的应用程序权限

标签 android permissions

我需要开发一个 Android 应用程序来检测恶意软件。

我希望根据所有安装的应用程序使用的权限来开发它。请告诉我如何识别其他应用程序使用的权限

最佳答案

您可以像这样获取所有已安装的应用程序权限。

  • Get all installed applications
  • Iterate over the applications
  • Get each application permissions list
  • Iterate over the each permission
PackageManager pm = getPackageManager();
List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);

for (ApplicationInfo applicationInfo : packages) {
   Log.d("test", "App: " + applicationInfo.name + " Package: " + applicationInfo.packageName);

   try {
      PackageInfo packageInfo = pm.getPackageInfo(applicationInfo.packageName, PackageManager.GET_PERMISSIONS);

      //Get Permissions
      String[] requestedPermissions = packageInfo.requestedPermissions;

      if(requestedPermissions != null) {
         for (int i = 0; i < requestedPermissions.length; i++) {
            Log.d("test", requestedPermissions[i]);
         }
      }
   } catch (NameNotFoundException e) {
      e.printStackTrace();
   }
}

关于android - 如何获取已安装的应用程序权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7937794/

相关文章:

c++ - 如何获取当前用户权限组?

php - 为 WordPress 上传文件的权限问题

android - 在 Android 中使用 OpenCV 检测图像中的圆圈

java - Android 数据绑定(bind)与选择器 View

android - 你如何删除 Android 上的导航栏?

c# - 如何设置多语言 PrincipalPermission 角色名称?

ruby-on-rails - Rails : Permission denied for File. 删除

java - requestPermissions() 没有调用 onRequestPermissionsResult()

android - 将字符串格式化为 KB、MB 和 GB

android - 增强现实工具包 - Android