android - 如何通过android代码获取android play store安装的应用程序包?

标签 android package android-applicationinfo

android中有3种类型的应用

  1. Android 系统应用
  2. 从 Android Play 商店安装的应用
  3. 通过本地 apk 安装的应用(通常由开发人员或任何其他来源安装)

我使用下面的代码获得第一类应用程序包(即系统应用程序)

private boolean isSystemPackage(ResolveInfo ri) {
return (ri.activityInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0;
}

我想在 Android 设备上获取第二类应用程序包(即从 Android Play 商店安装的应用程序)....请告诉我如何获取?

即使我获得了本地安装的应用程序(即第 3 类),我也可以通过忽略所有包中的第 1 类和第 3 类应用程序包来找到我的解决方案....

最佳答案

您应该使用 getInstallerPackageName,它会检索安装包的应用程序的包名称。这标识了包裹来自哪个市场:

http://developer.android.com/reference/android/content/pm/PackageManager.html#getInstallerPackageName%28java.lang.String%29

对于 Play 商店,您应该检查它是否来自 com.android.vending!

关于android - 如何通过android代码获取android play store安装的应用程序包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17042902/

相关文章:

android - Android 中的 ApplicationInfo 适配器仅显示具有启动器 Intent 的应用程序

android - Connectivity broadcastReceiver 调用 Application 的 onCreate 方法

android - Android 上的 Nativescript 蓝牙只发现了一些设备并慢慢地进行

android - 如何在Android中的自己的按钮上实现google plus登录功能

java - Try/Catch/Finally 语句中的空指针异常

package - 在 Common Lisp 中使用 iterate 包的正确方法

android - 在 onCLickListener() 中添加带有确定按钮的消息框

android - Project Tango Unity3d Area Learning Scene 不更新 ADF 和 Localization 的姿势数据

function - 函数内的全局 require 和局部 require 之间有区别吗

r - scipen和digits有什么用