android应用锁之获取前台进程包名方法
通过以下方式来获取前台进程的包名:
1.android api 10-20
通过ActivityManager中getRunningTasks来获取。
2.android api 21- 22(部分没有升级google更新包)
由于系统在api 21以上禁用getRunningTasks接口。
通过ActivityManager中getRunningAppProcesses来获取
缺点:有可能误判(概率很低)
3.android api 22
由于系统在22以上禁用了getRunningAppProcesses接口。
通过/proc/pid/oom_adj的值以及bg_non_interactive来联合获取
缺点:有可能误判(概率一般)
4.android api 23及以上:
通过/proc/pid/oom_score的值以及bg_non_interactive来联合获取
缺点:有可能误判(概率较高)
5. android api 22及以上:
通过开启usageStats权限后由UsageStatsManager的queryEvents接口获取
android应用锁之获取前台进程包名方法的更多相关文章
- Android中通过pid获取app包名
String callerPackage = getAppNameByPID(getContext(), Binder.getCallingPid()); private String getAppN ...
- Android获取APK包名的几种方法
Android获取APK包名的几种方法:1.adb shell pm list package -f | findstr 关键字 #只能获取到包名,主Activity名无法获取到 2.使用aapt-- ...
- Appium+Python自动化 3 -获取 app 包名和 activity
方法一: ①手机通过USB连接电脑 ②打开手机上被测app ③在电脑上 dos命令窗口,输入命令 adb shell dumpsys window w | findstr \/ | findstr n ...
- Appium自动化测试3之获取apk包名和launcherActivity后续
接着“Appium自动化测试3之获取apk包名和launcherActivity”章节介绍 测试脚本 1.测试脚本如下: # -*- coding:utf-8 -*- import os, time, ...
- Android 必知必会 - 依据包名推断 App 执行状态
假设移动端訪问不佳,请訪问: 掘金版 Github 版 获取指定包名的 APP 是否还在后台执行,推断 APP 是否存活. 背景 能够依据 App 是否有 Service 分两类情况处理: 没有 Se ...
- android studio无法识别含有rcs包名的jar
http://blog.csdn.net/JingleYe/article/details/70048943 android studio无法识别含有rcs包名的jar android stu ...
- 如何获取当前包名与activitity&&抓log
若hi1:获取当前包名以及Activity (1)adb shell dumpsys activity | find "mFocusedActivity" (2)adb shell ...
- Android自动化学习笔记:获取APK包名的几种方法
---------------------------------------------------------------------------------------------------- ...
- android 自动化压力测试-monkey 2 获取程序包名
monkey 1 中我们写到: C:\Users\chenshan>adb shell shell@hwG750-T20:/ $ monkey -p cn.emoney.acg -v 500 说 ...
随机推荐
- 将IIS 7,IIS 8运行在32位
win2008及win2012的IIS运行在32状态下,原因是ASP程序必须在32位下才能使用ACCESS, 只有在32位下,myodbc才会正常,注意,MySQL必须用32位版本. 设置办法: 打开 ...
- kafka 生产者java编码
public class KafkaProducerDemo { public static void main(String[] args) throws InterruptedException ...
- 关键字static/const的作用
static关键字的作用:(1)设置变量的存储域,函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值:(2)限制变量的作用域 ...
- JQuery选择器中含有冒号的ID处理差异的分析
问题提出 对于一个输入框, 如果其id中含有冒号(:),选择器使用需要有特殊写法, 例如 id为下 <input type="text" value="ddd&qu ...
- adop - ERRORMSG: Since earlier patching session failed and you are invoking apply again
$ adop phase=apply patches= hotpatch=yes *******FATAL ERROR******* PROGRAM : (/app/oracle/apps/VIS/f ...
- Bootstrap modal被sliverlight掩盖。
Bootstrap中的modal被silverlight遮挡了,解决方案: <object id='xx'....> ... <param name="windowless ...
- asp.net mvc4 System.Web.Optimization找不到引用
在MVC4的开发中,如果创建的项目为空MVC项目,那么在App_Start目录下没有BundleConfig.cs项的内容,在手动添加时在整个库中都找不到:System.Web.Optimizatio ...
- logstash5.x配置
logstash --help --可以通过此命令看到所有命令 -f, --path.config --配置文件路径 -e, --config.string --可直接运行的配置字符串 -w, --p ...
- Hibernate 简单使用
首先在数据库中创建相应的表,脚本如下: create table Student (id int primary key, sName ), sNO ), sex ), email )) 在Myecl ...
- MVC4 Filter 验证客户端访问类型(移动端、PC端)
Filter: 1 /// <summary> /// 检测是否是手机访问 /// </summary> public class IsMobileFilter : Actio ...