3

実行中のタスクのリストを取得したら、必要なほぼすべての情報を取得できます。ただし、タスクの実行時間を取得する方法が見つかりませんでした。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();
    }
}
4

0 に答える 0