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通过包名启动其他应用,若该应用已启动,则直接将应用切到前台

Android 在Android手机上获取其他应用的包名及版本号

android应用锁之监听应用前后台切换方式

如何简单快速获取Android应用包名