我使用以下代码检索手机上已安装应用程序的列表:
List<PackageInfo> apps=getPackageManager().getInstalledPackages(PackageManager.GET_META_DATA|PackageManager.GET_PERMISSIONS|PackageManager.GET_PROVIDERS);
但是如果有两个具有相同包名称的应用程序,则只返回其中一个。如何在列表中获取应用程序详细信息?我在 Google + 应用中面临此问题,该应用与其他应用具有相同的包名称 com.google.android.apps.plus ,因此不会返回。< / p>
答案 0 :(得分:1)
在此处查看AndroidManifest文档:http://developer.android.com/guide/topics/manifest/manifest-element.html,显然包名是应用程序的唯一标识符。
如果两个应用程序具有相同的程序包名称,则只会安装其中一个程序包。如果他们共享相同的签名,安装第二个包将覆盖第一个包,假设它没有降级版本。如果他们有不同的签名,您将收到错误消息,说明您无法安装第二个包。
也就是说,您应该永远不会遇到设备上安装了两个同名软件包的情况。