簡體   English   中英

如何獲取已安裝的應用程序權限

[英]How to get installed applications permissions

我需要開發一個Android應用程序來檢測惡意軟件。

我希望根據安裝的所有應用程序使用的權限來開發它。 請告訴我如何識別其他應用程序使用的權限

您可以獲得所有已安裝的應用程序權限。

  • 獲取所有已安裝的應用
  • 迭代應用程序
  • 獲取每個應用程序權限列表
  • 迭代每個權限
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();
   }
}

您可以使用此REST API獲取有關應用程序的詳細信息,包括應用程序所需的權限。 例如,要查看WhatsApp要求的權限,請在此GET請求的響應中找到“權限”節點: http//playstore-api.herokuapp.com/playstore/apps/com.whatsapp

有關如何為此進行API調用的更多說明可以在GitHub頁面找到

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM