July 1, 2012

タスク情報を取得する

システム上で動作しているタスク情報を取得する方法です。

デバッグなどでタスクがどう生成されているか理解するのに役に立ちます。

例)タスク情報をすべて取得し、タスクの先頭Activity、スタックされているActivity数を表示します。

ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<RunningTaskInfo> list = manager.getRunningTasks(100);
Log.i(TAB, "Total tasks:" + list.size());
for (RunningTaskInfo info:list) {
    Log.i(TAB, "ID:" + info.id + " Top:" + info.topActivity.getClassName() + "Num:" + info.numActivities);
}

タスク情報を取得するにはパーミッションの設定が必要です。

<uses-permission android:name="android.permission.GET_TASKS"/>

実行すると下記のように表示されます。


参考:Android Developers:ActivityManager

No comments:

Post a Comment