2016-02-27 119 views

回答

2

您可以檢查它這樣

PackageManager p = getPackageManager(); 
    final List<PackageInfo> appinstall = p.getInstalledPackages(PackageManager.GET_PERMISSIONS | PackageManager.GET_PROVIDERS); 
    for (int i=0; i < appinstall.size(); i++) 
    { 
     PackageInfo packageInfo = appinstall.get(i); 
     PermissionInfo[] permissions = packageInfo.permissions; 
     // permissions The array of all the permissions 



    } 

希望這將解決您的問題...

+0

謝謝你的應用程序列表的功能,但這個答案是知道我的應用程序HAV e是否允許。我需要知道其他應用權限 –

+0

試試這個,它會工作... – Kushal

1

我找到了最好的解決方案(thanx的Kushal答案) 這是給有權訪問的權限互聯網

private List<PackageInfo> getAppsWithInternetPermission(){ 
    List<PackageInfo> appsThatHaveInternetPermissin = new ArrayList<PackageInfo>(); 
    PackageManager p = getPackageManager(); 
    final List<PackageInfo> appinstall = p.getInstalledPackages(PackageManager.GET_PERMISSIONS); 
    for (int i=0; i < appinstall.size(); i++) 
    { 
     PackageInfo packageInfo = appinstall.get(i); 
     permissions = packageInfo.requestedPermissions; 

     try{ 

      for (String permissinName : permissions) { 
       if(permissinName.equals("android.permission.INTERNET")){ 
        appsThatHaveInternetPermissin.add(packageInfo); 
       } 
      } 

     } catch(NullPointerException e){ 
      Log.i("catch messege", e + ""); 
     } 
    } 

    return appsThatHaveInternetPermissin; 
} 
相關問題