flutter 如何使用dart以编程方式获取手机上所有已安装应用程序的权限?

p8ekf7hl  于 11个月前  发布在  Flutter
关注(0)|答案(1)|浏览(266)

我正在创建Flutter应用程序,其中我必须显示所有已安装的应用程序与其允许的权限。但我不知道如何实现这一点,我是新的flutter / dart。有人请指导我。

nxagd54h

nxagd54h1#

你可以使用android_package_manager,它使用android hereherePackageManager API。你可以使用PackageInfo,它包含requestedPermissionshere
Kotlin的例子类似于Flutter中的库。函数名称等几乎相同。

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();
   }
}

字符串

相关问题