android应用锁之获取前台进程包名方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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判断应用在前台还是后台运行(判断应用前后台切换)
Android判断应用在前台还是后台运行(判断应用前后台切换)
Android通过包名启动其他应用,若该应用已启动,则直接将应用切到前台