0

現在、以下のように、最近のタスクの ID のみを取得できます。

final List<RecentTaskInfo> recentTasks = activityManager.getRecentTasks(Integer.MAX_VALUE, 1);
for (int i = 0; i < recentTasks.size(); i++) 
{
     System.out.println(""+recentTasks.get(i).id);
}

しかし、他の情報を取得するにはどうすればよいですか? package_name、main_activity などですか?

また、いくつかの ID が であることがわかりまし-1た。どういう意味ですか?これらのタスクの情報を取得できますか?

4

2 に答える 2

1

ここでは、このコードを使用して、実行中のアプリをバックグラウンドからフォアグラウンドに移動しました。これがお役に立てば幸いです...

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
 {  
final ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
final List<RecentTaskInfo> recentTasks = activityManager.getRecentTasks(Integer.MAX_VALUE, ActivityManager.RECENT_IGNORE_UNAVAILABLE);

RecentTaskInfo recentTaskInfo = null;

for (int i = 0; i < recentTasks.size(); i++) 
{
    if (recentTasks.get(i).baseIntent.getComponent().getPackageName().equals(packageName)) {
       recentTaskInfo = recentTasks.get(i);
       break;
    }
}

if(recentTaskInfo != null && recentTaskInfo.id > -1) {
    activityManager.moveTaskToFront(recentTaskInfo.persistentId, ActivityManager.MOVE_TASK_WITH_HOME);
    return;
}
}
于 2013-11-26T07:47:35.603 に答える