我知道在Android中,我可以调用getInstalledPackages(0)
PackageManager API来获取设备上所有已安装的应用。
我想知道有没有办法或解决方法来使用Android SDK(即没有第三方库)获取已安装应用程序的发布者名称?
答案 0 :(得分:0)
包含相关类的包,尤其是ApplicationInfo,没有公共接口(http://developer.android.com/reference/android/content/pm/package-summary.html)。所以我相信没有办法做到这一点。
答案 1 :(得分:0)
我认为没有直接的方法可以做到这一点。因为清单或源代码中的任何地方都没有该信息。
作为解决方法,您可以获取流程名称/包名称,并从Google play store查找发布商名称:
伪代码:
List<ApplicationInfo> appInfos = context.getPackageManager().getInstalledApplications(0);
for (ApplicationInfo appInfo : appInfos) {
String processName = appInfo.processName; // Example: com.google.android.youtube
String url = "https://play.google.com/store/apps/details?id=" + processName;
// Fetch publisher name from web here
...
}
答案 2 :(得分:0)
我认为,没有Android API可以获取发布者的应用程序名称。您可以使用此第三方API从Play商店获取发行商的信息以及更多信息。
https://api.appmonsta.com/v1/stores/android/details/your-package-name.json?country=us
将API中的“您的软件包名称”替换为应用程序软件包名称。 首先,您必须向api.appmonsta.com注册才能运行此API。