<分区>
我目前正在开发一个列出所有购买的应用程序的应用程序(例如 Google Play 商店中的“已购买的应用程序”)。 是否有解决方案来获取应用计费中包含的应用列表? 我们如何知道应用程序是否已被购买? 为此需要 root 手机吗?
谢谢。
<分区>
我目前正在开发一个列出所有购买的应用程序的应用程序(例如 Google Play 商店中的“已购买的应用程序”)。 是否有解决方案来获取应用计费中包含的应用列表? 我们如何知道应用程序是否已被购买? 为此需要 root 手机吗?
谢谢。
最佳答案
要获取支持应用内结算的已安装应用列表,您可以检查它们的权限:
final List<PackageInfo> inAppBillingEnabledPackages = new ArrayList<PackageInfo>();
final PackageManager pm = getPackageManager();
final List<PackageInfo> installedAppInfo = pm.getInstalledPackages(PackageManager.GET_PERMISSIONS);
for (final PackageInfo packageInfo : installedAppInfo) {
if (packageInfo.requestedPermissions != null) {
for (final String permissionInfo : packageInfo.requestedPermissions) {
if ("com.android.vending.BILLING".equals(permissionInfo)) {
inAppBillingEnabledPackages.add(packageInfo);
}
}
}
}
// inAppBillingEnabledPackages now contains a list of packages supporting in-app billing
这适用于非 root 手机。
至于“已购买的应用程序”,您是指哪些已安装的应用程序已付费且不是免费的?如果是这样,对于从 Play 下载的应用程序,由于我认为 Play 应用程序不支持任何此类 Intent,我想唯一的方法是从 API 中获取应用程序的价格(这取决于国家!) this SO thread 中列出的那些,例如 here这是一个如何使用 android-market-api 获取给定语言环境中的价格信息的示例.
关于android - 获取已购买应用列表 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21311107/