android - 判断android包是vendor预装的

标签 android

我想知道是否有办法知道我的应用程序是由供应商预装的(而不是从 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/

相关文章:

android - Jelly Bean 4.2 上的文件目录

android - AlarmManager的RTC和RTC_WAKEUP有什么区别

android - 如何在Android中获取当前的sqlite数据库大小或包大小?

java - 仅在重启时启动 Activity

android - 下载 osmdroid map

java - for 循环中的循环问题,同时避免重复条目

三星设备上的 Android 相机 API 图像模糊

java - 在静态内部类中使用静态变量

android - 人类可读的 DhcpInfo.ipAddress?

Android 需要类似于 session /缓存的东西