実行中のタスクのリストを取得したら、必要なほぼすべての情報を取得できます。ただし、タスクの実行時間を取得する方法が見つかりませんでした。ActivityInfo で返される を試してみましmetaData
Bundle
たが、明示的に要求しても null です。これはまったく可能ですか?
次のようにタスクのリストを取得します。
ActivityManager am = (ActivityManager) getSystemService(Activity.ACTIVITY_SERVICE);
List<RunningTaskInfo> list = am.getRunningTasks(100);
PackageManager pm = getPackageManager();
for (RunningTaskInfo thisInfo : list) {
try {
ComponentName componentName = thisInfo.baseActivity;
ActivityInfo activityInfo = pm.getActivityInfo(componentName, PackageManager.GET_META_DATA);
// this is null for some reason
Bundle metaData = activityInfo.applicationInfo.metaData;
} catch (NameNotFoundException e) {
Log.e("AppChecker", "Oops");
e.printStackTrace();
}
}