6

Androidで実行されているすべてのタスクを取得したい.ActivityManagerでgetRunningTasksを見つけましたが、Android-5.0からgetRunningTasksはすべてのタスクを提供しない場合があります(私の場合はホーム画面とアプリケーションを提供します)。

さらに、ユーザーが現在対話しているタスクを見つけることは可能ですか?

どんな助けでも大歓迎です。

ありがとう。

編集:私は次のコードを使用しています.しかし、それは私に1つのプロセス(それが私のアプリです)しか与えていません.他のアプリを開いても表示されません.私はOne Plus2でこれを実行しています.

@Override
    protected void onHandleIntent(Intent intent) {
        new Timer().scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {
                getRunningApps();
            }
        }, 0, 1000);//put here time 1000 milliseconds=1 second
    }

    public void getRunningApps() {
        final ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
        final List<ActivityManager.RunningAppProcessInfo> recentTasks = activityManager.getRunningAppProcesses();

        for (int i = 0; i < recentTasks.size(); i++)
        {
            Log.d("Executed app", "Application executed : " +recentTasks.get(i).pkgList[0]+ "\t\t ID: "+recentTasks.get(i).pid+"");
        }
    }
4

4 に答える 4

1

あなたがそのタスクの所有者でない場合、Android はその情報を提供しません。

于 2016-03-05T10:18:56.223 に答える
-1

getRecentTasksとgetRunningTaskは API 21 の時点で非推奨になったと思います。何を達成しようとしているのかわかりません。おそらく getRunningAppProcess を試してみください。同様の結果が得られます。

于 2016-03-05T10:35:40.227 に答える