Android5.0之后获取后台正在运行的程序
来源:互联网 发布:税务申报软件 编辑:程序博客网 时间:2024/06/05 08:37
我们知道在5.0以及之前的版本上获取后台正在运行的程序可以通过ActivityManager.getRunningAppProcesses();来获取一个RunningAppProcessInfo的list,但是5.0之后的版本此方法只能是获取自己的应用信息,那么接下来我们介绍下5.0之后版本的处理:
List<RunningAppProcessInfo> runningAppsInfo = new ArrayList<RunningAppProcessInfo>(); PackageManager pm = context.getPackageManager(); ActivityManager am = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningServiceInfo> runningServices = am .getRunningServices(Integer.MAX_VALUE); for (ActivityManager.RunningServiceInfo service : runningServices) { String pkgName = service.process.split(":")[0]; try { RunningAppProcessInfo item = new RunningAppProcessInfo(); item.pkgList = new String[] { pkgName }; item.pid = service.pid; item.processName = service.process; item.uid = service.uid; runningAppsInfo.add(item); } catch (NameNotFoundException e) { } }
我们通过am.getRunningServices(Integer.MAX_VALUE)来获取正在后台运行的Services,而Services和应用拥有同样的Pid、Uid以及ProcessName,所以就可以构造一个新的RunningAppProcessInfo了。
获取指定app运行在前台还是后台,网上有6种方法(包括5.0以上的处理),可以参考:
http://p.codekk.com/detail/Android/wenmingvs/AndroidProcess
0 0
- Android5.0之后获取后台正在运行的程序
- Android5.0以上获取正在运行的应用
- android5.0之后如何获取当前运行的应用包名
- android5.0之后如何获取当前运行的应用包名和应用名称
- android5.0之后如何获取当前运行的应用包名
- Android 无法获取正在运行的程序
- android5.0用UsageStatsManager来获取程序运行时间
- C 编程获取正在运行的程序进程号
- C 编程获取正在运行的程序进程号
- C 编程获取正在运行的程序进程号
- Android获取正在运行的程序并kill掉它
- 感觉略炫酷的将正在运行的程序切换到后台运行
- Linux中如何让进程(或正在运行的程序)到后台运行?
- Linux中如何让进程(或正在运行的程序)到后台运行?
- Linux中如何让进程(或正在运行的程序)到后台运行?
- Linux中如何让进程(或正在运行的程序)到后台运行
- Linux中如何让进程(或正在运行的程序)到后台运行?
- Linux中让进程(或正在运行的程序)到后台运行
- 开源图像检索项目PicSearch is now an open source project
- POJ 1182 食物链
- PLSQL developer 连接不上64位Oracle
- PAT (Advanced Level) Practise 1035 Password (20)
- VB实现自动取得服务器IP并连接服务器(利用UDP广播)
- Android5.0之后获取后台正在运行的程序
- 多线程
- linux修改用户最大连接线程数
- centos下卸载删除oracle软件和实例
- 第一次上机实验1—3
- Android Root的一些理解
- pipy的安装,pbr安装---备忘
- 欧拉项目第11题 Largest product in a grid
- web storage API