如何获取Android应用程序中正在运行的活动

如何获取Android应用程序中正在运行的活动,android,android-intent,Android,Android Intent,当我在谷歌上搜索时,我发现了这个代码 ActivityManager m = (ActivityManager) ctx.getSystemService( ctx.ACTIVITY_SERVICE ); List<RunningTaskInfo> runningTaskInfoList = m.getRunningTasks(10); Iterator<RunningTaskInfo> itr = runningTaskInfoList.iterator(); whi

当我在谷歌上搜索时,我发现了这个代码

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();
}
ActivityManager m=(ActivityManager)ctx.getSystemService(ctx.ACTIVITY_服务);
List runningTaskInfoList=m.getRunningTasks(10);
迭代器itr=runningTaskInfoList.Iterator();
while(itr.hasNext()){
RunningTaskInfo RunningTaskInfo=(RunningTaskInfo)itr.next();
int id=runningTaskInfo.id;
CharSequence desc=runningTaskInfo.description;
int numOfActivities=runningTaskInfo.numActivities;
字符串topActivity=runningTaskInfo.topActivity.getShortClassName();
}
这会告诉我有多少任务正在运行,以及任务中的活动数

我目前正在开发一个应用程序,希望跟踪哪些活动在我自己的应用程序中仍处于活动状态。 基本上,我想要获取int numOfActivities=runningTaskInfo.numActivities的内容


我该怎么做呢?

我认为最简单的方法是在您自己的应用程序中记录所有活动信息。您可以在任何活动中随时查询它们

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;
    }
}
公共类MyApplication扩展应用程序{
private ArrayList mNames=new ArrayList();
public void addActivityName(字符串名称){
mNames.add(名称);
}
public void removeActivityName(字符串名称){
mNames.remove(名称);
}
公共阵列列表getActivityNames(){
返回mNames;
}
}