1

私がググったとき、私はこのコードに出くわしました。

ActivityManager m = (ActivityManager) ctx.getSystemService( ctx.ACTIVITY_SERVICE );
List<RunningTaskInfo> runningTaskInfoList =  m.getRunningTasks(10);
Iterator<RunningTaskInfo> itr = runningTaskInfoList.iterator();
while(itr.hasNext()){
    RunningTaskInfo runningTaskInfo = (RunningTaskInfo)itr.next();
    int id = runningTaskInfo.id;
    CharSequence desc= runningTaskInfo.description;
    int numOfActivities = runningTaskInfo.numActivities;
    String topActivity = runningTaskInfo.topActivity.getShortClassName();
}

これにより、実行中のタスクの数と、タスク内のアクティビティの数がわかります。

私は現在アプリを開発しており、自分のアプリケーションでまだアクティブなアクティビティを追跡したいと考えています。基本的に int numOfActivities = runningTaskInfo.numActivities; の内容を取得したいです。

どうやってやるの?

4

1 に答える 1

0

最も簡単な方法は、すべての活動情報を独自のアプリケーションに記録することだと思います。どのアクティビティでもいつでもクエリを実行できます。

public class MyApplication extends Application{
    private ArrayList<String> mNames = new ArrayList<String>();

    public void addActivityName(String name) {
        mNames.add(name);
    }

    public void removeActivityName(String name) {
        mNames.remove(name);
    }

    public ArrayList<String> getActivityNames() {
        return mNames;
    }
}
于 2013-07-31T02:01:08.723 に答える