0
我在为Android编写一个应用程序,该应用程序获取所有已安装应用程序及其详细信息的列表。我得到的大部分东西我需要:如何获取每个已安装的应用程序/软件包的供应商名称?
context.getPackageManager().getInstalledPackages(0);
我似乎无法搞清楚的是,我能得到谁创建软件包/应用程序供应商的名称或ID。
有什么建议吗?
我在为Android编写一个应用程序,该应用程序获取所有已安装应用程序及其详细信息的列表。我得到的大部分东西我需要:如何获取每个已安装的应用程序/软件包的供应商名称?
context.getPackageManager().getInstalledPackages(0);
我似乎无法搞清楚的是,我能得到谁创建软件包/应用程序供应商的名称或ID。
有什么建议吗?
我不认为有任何方式通过编程访问该信息。事实上,我不认为供应商的名称存储在任何地方的apk文件中。市场中显示为“开发者”的名称是与上传应用程序的Google帐户关联的名称。我认为这个价值是由市场基础设施存储的,而不是应用程序本身。不幸的是,目前还没有公共API允许访问市场数据。
如果您不一定关心实际的人类可读名称,并且您只是希望能够以编程方式确定设备是否具有来自同一开发人员的多个应用程序,则可以从PackageInfo中的signature字段收集此信息对象,你可以从pm.getPackageInfo(String packageName, int flags);
得到我虽然很少有经验,但我可能是不正确的。
谢谢,但我正在寻找像“Acme Widgets,Inc”这样的人类可查看的供应商名称。通过我自己的AndroidManifest.xml浏览,我也没有看到一个地方来设置我的公司/供应商的名称。很奇怪,这不是清单的一部分。 – 2012-04-05 20:30:21