码迷,mamicode.com
首页 > 其他好文 > 详细

文章标题

时间:2015-07-21 12:49:55      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:android-l

android 5.0 获取最近运行的应用
由于考虑到安全性ActivityManager.getRunningTasks(),在5.0上已经deprecated了。
private String getLollipopRecentTask() {
final int PROCESS_STATE_TOP = 2;
try {
Field processStateField = ActivityManager.RunningAppProcessInfo.class.getDeclaredField("processState");
List<ActivityManager.RunningAppProcessInfo> processes = ((ActivityManager) getSystemService(Context.ACTIVITY_SERVICE)).getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo process : processes) {
if (process.importance <= ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND && process.importanceReasonCode == 0) {
int state = processStateField.getInt(process);
if (state == PROCESS_STATE_TOP) {
String[] packname = process.pkgList;
return packname[0];
}
}
}
} catch (Exception e) {
throw new RuntimeException(e);
}
return "";
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

文章标题

标签:android-l

原文地址:http://blog.csdn.net/cqm1990/article/details/46983573

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!