以下代码适用于Lollipop之前的版本,但在Lollipop之后,它无效。有什么建议吗?
Log.e(TAG,"-----RECENT APPS-----\n");
for (ActivityManager.RecentTaskInfo task : recentTasks) {
Intent baseIntent = task.baseIntent;
if (baseIntent != null) {
String text = baseIntent.getComponent().getPackageName();
String appName = "";
try {
appName = (String) pack.getApplicationLabel(pack.getApplicationInfo(text, PackageManager.GET_META_DATA));
} catch (PackageManager.NameNotFoundException e1) {
e1.printStackTrace();
}
Log.i(TAG, "Recent Apps : " + text + " :" + appName);
recent_task_map.put(text,(String) appName);
}else {
Log.i(TAG,"RecentTask :"+" No Recent task");
}
}
答案 0 :(得分:3)
getRecentTasks()
已弃用,仅适用于API级别低的设备。 21
如果您希望对具有API级别>的设备执行此操作21,您可以使用getAppTasks()
获取与调用应用程序相关的任务列表。
有关详细信息,请查看以下链接:
https://developer.android.com/reference/android/app/ActivityManager.html#getRecentTasks(int%2C%20int) https://developer.android.com/reference/android/app/ActivityManager.html#getAppTasks()