获取第二个近期任务(android)

时间:2013-05-24 15:52:46

标签: android task

我正在尝试获取第二个应用程序的软件包名称(因此当前正在运行的应用程序不是这样)。

现在我走到了这一步:

                final ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
                final List<RecentTaskInfo> recentTasks = activityManager.getRecentTasks(20, ActivityManager.RECENT_WITH_EXCLUDED);

                for (int i = 0; i < recentTasks.size(); i++) {

                    Intent baseIntent = recentTasks.get(i).baseIntent;
                    if(baseIntent != null) {

                    Context context = getApplicationContext();
                    CharSequence text = baseIntent.getComponent().getPackageName();

                    int duration = Toast.LENGTH_SHORT;
                    Toast toast = Toast.makeText(context, text, duration);
                    toast.show();

                    }

但这将显示所有最近的任务。

如果有人知道如何仅显示第二个任务,而不是所有任务,那么您的帮助将非常感谢!

2 个答案:

答案 0 :(得分:0)

从活动堆栈获取第二个近期任务尝试为:

 List<RecentTaskInfo> recentTasks = activityManager.getRecentTasks(2, 
                                         ActivityManager.RECENT_WITH_EXCLUDED);

if(recentTasks.size() >= 1) {
    RecentTaskInfo SecondrecentTask = recentTasks.get(1);
    Intent baseIntent = SecondrecentTask.baseIntent;
    //....do your work here..

}

答案 1 :(得分:0)

您正在循环播放和烘烤,因此您将显示recentTask中的所有项目。

第二项可能是:

recentTasks.get(1);