我有一个应用程序,从服务器的响应不同的情况下打开不同的活动。让我有两个活动Activity
A & Activity
B。 A或B不能同时启动。假设A活动被称为启动并在同一时间B也被称为启动。如果A首先启动,B隐藏它,并开始在视图的顶部使A在背景中。我如何检查A是否已从内部启动活动B ??Android - 如何获得Android上的最后前景活动?
到现在我曾尝试:
ActivityManager m = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> runningTaskInfoList = m.getRunningTasks(10);
Iterator<ActivityManager.RunningTaskInfo> itr = runningTaskInfoList.iterator();
while (itr.hasNext()) {
ActivityManager.RunningTaskInfo runningTaskInfo = (ActivityManager.RunningTaskInfo) itr.next();
int id = runningTaskInfo.id;
CharSequence desc = runningTaskInfo.description;
int numOfActivities = runningTaskInfo.numActivities;
String topActivity = runningTaskInfo.topActivity.getShortClassName();
Constants.debugLog(TAG, "checkActivityStack desc: " + desc + " numOfActivities: " + numOfActivities + " topActivity: " + topActivity);
}
========================= 另一个从堆栈
ActivityManager am = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);
int sizeStack = am.getRunningTasks(5).size();
for(int i = 0;i < sizeStack;i++){
ComponentName cn = am.getRunningTasks(2).get(i).topActivity;
Constants.debugLog(TAG, "checkActivityStack "+cn.getClassName());
}
采取全局变量定义在应用程序类,把它写在一个活动启动,并检查变量b活动 – Reena
你可以发布你的代码,女巫打开这些活动? – Hamza
,否则您需要检查活动管理器的运行进程 – Reena