`
univasity
  • 浏览: 800937 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

判断是否为系统应用的几种方法[整理]

阅读更多

原文链接: http://www.lepeng.net/blogger/?p=306

 

1. if(new File("/data/app/" + packageInfo.packageName + ".apk").exists())

2. packageInfo.versionName != null && packageInfo.applicationInfo.uid > 10000

3. if((packageInfo.applicationInfo.flags& ApplicationInfo.FLAG_SYSTEM) != 0)

 

* 经测试,最好使用第3个方法,另外两个不大准。


补充:: 示例代码>>

public static boolean isSystemApplication(Context context, String packageName){
    	PackageManager manager = context.getPackageManager();
        try {
			PackageInfo packageInfo = manager.getPackageInfo(packageName, PackageManager.GET_CONFIGURATIONS);
			// 1
			if(new File("/data/app/"+packageInfo.packageName+".apk").exists()){
				return true;
			}
			// 2
			if(packageInfo.versionName!=null && packageInfo.applicationInfo.uid>10000){
				return true;
			}
			// 3
			if((packageInfo.applicationInfo.flags & android.content.pm.ApplicationInfo.FLAG_SYSTEM)!=0){
				return true;
			}
		} catch (NameNotFoundException e) {
			e.printStackTrace();
		}
		return false;
    }
分享到:
评论

相关推荐

    新源人力资源管理系统网络版人事管理系统

    03.可以支持EXCEL表的导入:系统可以把用户处理好的EXCEL表或是在系统使用前期,对于以前的存在的EXCEL表信息稍做一点整理就可以导入到我们的系统中(整理:EXCEL表不错栏为跟我们数据表中项目名称一样的标题栏,顺序...

    计算机应用基础教案课程.docx

    授课类型 新授课 教学方法 讲解 课时 教 学 过 程 任务一 计算机技术的发展过程及趋势 信息设备可以是电视、广播、移动电话等,以学生熟知的电视为例,用问题启发。例如,电视信号的发展(从模拟到数字)、电视信号...

    计算机应用基础全套教案课程.docx

    授课类型 新授课 教学方法 讲解 课时 教 学 过 程 任务一 计算机技术的发展过程及趋势 信息设备可以是电视、广播、移动电话等,以学生熟知的电视为例,用问题启发。例如,电视信号的发展(从模拟到数字)、电视信号...

    嵌入式系统/ARM技术中的Linux系统死机的软硬件问题分析

    系统出现死机,一般分为两种情况:一是硬件问题;二是软件问题。  一、硬件问题  可以考虑分析以下几点:  1、不要超频CPU,如果已经超频的先回复到原来的频率  虽然平时运行没有问题,但可能在高负载的使用...

    [详细完整版]大数据分析.doc

    数据分析的基本方法 数据分析的基本方法除了包括较简单数学运算之外,还包含下述几种常用方法。 2.1统计 统计有合计、总计之意,指对某一现象的有关数据进行搜集、整理、计算、分析、解 释、表述等。在实际应用中,...

    软件工程-理论与实践(许家珆)习题答案

    多视点方法也是管理需求变化的一种新方法,它可以用于管理不一致性, 并进行关于变化的推理。 2. M公司的软件产品以开发实验型的新软件为主。用瀑布模型进行软件开发已经有近十年了,并取得了一些成功。若你作为一...

    asp.net知识库

    如何判断ArrayList,Hashtable,SortedList 这类对象是否相等 帮助解决网页和JS文件中的中文编码问题的小工具 慎用const关键字 装箱,拆箱以及反射 动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/...

    JAVA面试题最全集

    76.EJB有哪几种?区别是什么? 77.JavaBean与EJB有什么区别? 78.软件开发生命周期有哪几个阶段? 79.软件开发有哪些因素? 80.软件开发中如何进行版本控制? 81.UML中,类视图如何表示类中的继承与聚合? 82.客户端...

    (整理)单片机与键盘设计..doc

    国内外的应用实例:译码器扩展输入方式 目前在工业设备,汽车电子及仪器仪表中普遍使用以单片机为控制核心的控制器,在开 发系统中常常会由于MCU资源不足而不得不采用扩展键盘输入I/O来满足应用系统的需要 ,而出现...

    会计理论考试题

    A、数据库管理系统 B、工具软件 C、系统软件 D、应用软件 18.计算机病毒最大的危害是__D____。 A、计算机病毒具有传染性 B、计算机病毒会传染给人类 C、计算机病毒具有破坏性 D、计算机病毒具有传染性和破坏性 19....

    批处理学习笔记

    批处理中处理特殊字符的几种方法 批处理练习(5) 和 call echo 用法 及 2>& DOS技巧(转) 系统默认环境变量中的路径 【试卷】自编批处理题目试卷,难度中(转) 自学批处理笔记(20) exit ver subst 替换字符串%...

    大数据时代的数据挖掘技术(1).docx

    以下就几种常见的数据分析方法做出简要的说明。 一是归类法,主要是将没有指向和不确定且抽象的数据信息予以集中,并对集中后的 据实施分类整理和编辑处理,从而确保所形成的数据源具有特征一致、表现相同的特点,...

    整理后java开发全套达内学习笔记(含练习)

    以“%”开头,[第几个数值$][flags][宽度][.精确度][格式] printf()的引入是为了照顾c语言程序员的感情需要 格式化输出 Formatter;格式化输入 Scanner;正则表达式 输出格式控制: 转义符: \ddd 1到3位8...

    软件测试工程师笔试题及参考答案

    5 白盒测试有几种方法 总体上分为静态方法和动态方法两大类。 静态:关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义 动态:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例028 判断某一年是否为闰年 38 实例029 验证登录信息的合法性 39 实例030 为新员工分配部门 40 实例031 用Switch语句根据消费金额计算折扣 41 实例032 判断用户输入月份的季节 42 2.4 循环控制 43 实例033 使用...

    level1~2题库-考试通.xlsx

    共有几种解决方案: 客户代表可以在需要跨系统同步多个数据时启动机器人。只需按下按钮,机器人即可在几毫秒内完成所有操作。 可以为常见查询创建仪表板。客户代表将填写必要的数据以解决问题,而机器人将在多个...

Global site tag (gtag.js) - Google Analytics