android下判断一个应用app是否是系统rom集成的方法
来源:互联网 发布:对网络教育行业的看法 编辑:程序博客网 时间:2024/06/06 09:31
android下判断一个应用app是否是系统rom集成的方法:
- import android.app.Activity;
- import android.content.pm.ApplicationInfo;
- import android.content.pm.PackageInfo;
- import android.content.pm.PackageManager.NameNotFoundException;
- import android.os.Bundle;
- import android.widget.TextView;
- public class AppTypeActivity extends Activity {
- //软件类型判断软件
- //未知软件类型
- public static final int UNKNOW_APP = 0;
- //用户软件类型
- public static final int USER_APP = 1;
- //系统软件
- public static final int SYSTEM_APP = 2;
- //系统升级软件
- public static final int SYSTEM_UPDATE_APP = 4;
- //系统+升级软件
- public static final int SYSTEM_REF_APP = SYSTEM_APP | SYSTEM_UPDATE_APP;
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- //要判断的包名
- String pname = "com.hiapk.marketpho";
- //在text输出的文字
- StringBuffer sb = new StringBuffer();
- sb.append(pname).append(" is: ");
- switch (checkAppType(pname)) {
- case SYSTEM_REF_APP:
- //是系统rom集成软件
- sb.append("SYSTEM_REF_APP");
- break;
- case USER_APP:
- //是用户安装软件
- sb.append("USER_APP");
- break;
- default:
- //未知软件
- sb.append("UNKNOW_APP");
- break;
- }
- TextView tv = (TextView)findViewById(R.id.textView);
- tv.setText(sb.toString());
- }
- /**
- * 检查app是否是系统rom集成的
- * @param pname
- * @return
- */
- private int checkAppType(String pname) {
- try {
- PackageInfo pInfo = getPackageManager().getPackageInfo(pname, 0);
- // 是系统软件或者是系统软件更新
- if (isSystemApp(pInfo) || isSystemUpdateApp(pInfo)) {
- return SYSTEM_REF_APP;
- } else {
- return USER_APP;
- }
- } catch (NameNotFoundException e) {
- e.printStackTrace();
- }
- return UNKNOW_APP;
- }
- /**
- * 是否是系统软件或者是系统软件的更新软件
- * @return
- */
- public boolean isSystemApp(PackageInfo pInfo) {
- return ((pInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0);
- }
- public boolean isSystemUpdateApp(PackageInfo pInfo) {
- return ((pInfo.applicationInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0);
- }
- public boolean isUserApp(PackageInfo pInfo) {
- return (!isSystemApp(pInfo) && !isSystemUpdateApp(pInfo));
- }
- }
0 0
- android下判断一个应用app是否是系统rom集成的方法
- android下判断一个应用app是否是系统rom集成的方法
- 检查app是否是系统rom集成的
- 判断一个APP是否为系统应用
- android 判断APP是否打开的方法
- android中判断应用是否是系统应用
- 嵌入式 Linux下判断是否是一个目录还是一个文件的方法
- 判断一个年份是否是闰年的判断方法
- Android:判断app是否为系统app
- Android判断app是否是第一次运行
- 如何判断一个直播系统是否使用的是RTMP
- 判断一个数据是否是2的幂的方法
- c/vc++一个字符是否是汉字的判断方法
- 判断是否是最后一个数组元素的方法
- 判断一个数是否是质数的方法
- Unix学习笔记-------目录遍历实例----Linux下判断是否是一个目录还是一个文件的方法
- 判断是否为系统应用的几种方法[整理]
- android判断是否是第三方应用
- JPA的一些坑
- 线性链表 java实现
- According to TLD or attribute directive in tag file, attribute value does not accept any expressions
- PDF有效期设置
- IOS JSON/XML解析
- android下判断一个应用app是否是系统rom集成的方法
- 3117 高精度练习之乘法
- 推荐给每个找工作的IT毕业生--打鸡血书
- ANDROID 中设计模式的采用--创建型模式
- Spring AMQP消息监听容器配置
- STL list
- 举例说明 public private protected 的区别
- N-gram统计语言模型(总结)
- android的PhotoShop