pavle
pavle

Reputation: 929

Android RunningTaskInfo

could anyone explain why am I always gettin an runtimeException when calling ActivityManager.RunningTaskInfo here's the code snippet:

ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    List<ActivityManager.RunningTaskInfo> listInfo = am.getRunningTasks(2);
    ActivityManager.RunningTaskInfo taskInfo = listInfo.get(0);//it throws exception in this line

    TextView title = (TextView) findViewById(R.id.textView_Settings_Title);
    title.setText(taskInfo.topActivity.getClassName().toString());

Upvotes: 2

Views: 2622

Answers (1)

Pierre
Pierre

Reputation: 9052

Try the following

final ActivityManager am = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE);
final List<ActivityManager.RunningTaskInfo> listInfo = am.getRunningTasks(Integer.MAX_VALUE);
for (int i = 0; i < listInfo.size(); i++) 
{            
    if (listInfo.get(i).baseActivity.toShortString().indexOf("<yourproject>") > -1) {
        ActivityManager.RunningTaskInfo taskInfo = listInfo.get(i);
    }
}

also try the following user permissions:

<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.REORDER_TASKS" />
<uses-permission android:name="android.permission.MANAGE_APP_TOKENS" />
<uses-permission android:name="android.permission.SET_ACTIVITY_WATCHER" />
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />

Upvotes: 2

Related Questions