Android:applicationInfo.loadDescription()始终返回null

时间:2012-06-23 18:52:22

标签: android package android-applicationinfo

我可以使用下面的代码成功获取应用程序的标题,版本和图标,但由于某种原因,描述始终返回为null。任何帮助表示赞赏。

相关守则: -

List<PackageInfo> packs = packageManager.getInstalledPackages(0);

  for(int i=0; i < packs.size(); i++) {
     PackageInfo p = packs.get(i);
     // skip system apps if they shall not be included
     if ((!includeSysApps) && ((a.flags & ApplicationInfo.FLAG_SYSTEM) == 1)) {
        continue;
     }
     App app = new App();
     app.setTitle(p.applicationInfo.loadLabel(packageManager).toString());
     app.setPackageName(p.packageName);
     app.setVersionName(p.versionName);
     app.setVersionCode(p.versionCode);
     CharSequence description = p.applicationInfo.loadDescription(packageManager); //error here?
     app.setDescription(description != null ? description.toString() : "");
     apps.add(app);
  }

App类只是一个bean类,它只设置给它的值,仅此而已。这个错误不可能存在,因为我确实得到了一个“”来描述。因为某种原因,描述会变为空。

1 个答案:

答案 0 :(得分:3)

您的代码似乎没有问题。您的假设是,任何App都有描述似乎是这种情况下的“错误”。 PackageManager从应用程序的清单中读取任何内容。应用程序的任何开发人员都可以免费提供描述。似乎大多数人(包括我)都没有理由这样做,因为我不知道使用这种描述的任何地方(除了可以通过PackageManager查询它的事实)。

要做到这一点,您可以在手机或模拟器上安装HelloWorld应用程序,并在其清单中提供说明。你应该用你的代码得到它。