如何在Android Lollipop版本中获取最近使用和关闭的应用程序?

时间:2017-03-20 04:46:15

标签: android

以下代码适用于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");
    }
}

1 个答案:

答案 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()