我想知道是否有办法知道我的应用程序是由供应商预装的(而不是从 Android Market 安装的)。应用程序也可以在 Android Market 中获得,并且可以从那里更新。
一种解决方案是在本地文件系统中创建一个文件(我们可以为供应商构建一个特殊的应用程序版本)。但是有一种情况是应用程序在首次运行之前可以从市场更新,并且没有创建文件。
那还有别的办法吗?大概,安装路径?
此外,有趣的是,Android Market 应用程序是否像为 Google map 执行的那样自动检查此预装应用程序的更新。
最佳答案
您必须获取包的 ApplicationInfo(使用 PackageManager),然后检查其标志。
import android.content.pm.ApplicationInfo;
if ((ApplicationInfo.FLAG_SYSTEM & myApplicationInfo.flags) != 0)
// It is a pre embedded application on the device.
关于android - 判断android包是vendor预装的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7331730/