【问题标题】:Android:Getting List of Application's package info which has been installed as a Device administratorAndroid:获取以设备管理员身份安装的应用程序包信息列表
【发布时间】:2014-01-19 23:46:24
【问题描述】:

我需要获取已作为设备管理员安装的应用程序的包信息列表。您分享的代码应该支持 Adroid Api 版本 8。

以下代码将为我提供已下载应用程序信息的列表,但我需要在列表中添加一个额外的过滤器,因为该应用程序应该是启用设备管理员的应用程序

List<PackageInfo> packs = getPackageManager().getInstalledPackages(0);
    for(int i=0;i<packs.size();i++) {
        PackageInfo p = packs.get(i);
        if ((!getSysPackages) && (p.versionName == null)) {
            continue ;
        }
        PInfo newInfo = new PInfo();
        newInfo.appname = p.applicationInfo.loadLabel(getPackageManager()).toString();
        newInfo.pname = p.packageName;
        newInfo.versionName = p.versionName;
        newInfo.versionCode = p.versionCode;
        newInfo.icon = p.applicationInfo.loadIcon(getPackageManager());
        res.add(newInfo);
    }

提前致谢

【问题讨论】:

    标签: android device-admin


    【解决方案1】:

    这里的解决方案:

    DevicePolicyManager devicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
    List<ComponentName> activeAdmins =   devicePolicyManager.getActiveAdmins();
    if (activeAdmins != null){
       for (ComponentName admin : activeAdmins){
                admin.getPackageName();                  
               }
    }
    

    【讨论】:

      【解决方案2】:

      我们会得到使用这个的应用列表

      final PackageManager pm = getPackageManager(); 
      List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);
      
      for (ApplicationInfo packageInfo : packages) {
          Log.d(TAG, "Installed package :" + packageInfo.packageName);   
      }
      

      【讨论】:

      • 我需要以管理员身份启用的应用程序...是否可以像这样过滤
      猜你喜欢
      • 1970-01-01
      • 2012-02-07
      • 2011-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-28
      • 2022-01-23
      • 2012-07-11
      相关资源
      最近更新 更多