如何知道我的申请的活动计数?

JRC*_*JRC 5 android android-activity

我在我的应用程序中有多个活动.请考虑以下案例......

活动A调用Acitivy B.B呼叫C.当用户按下后退键C生成通知并进入B.现在再次按下,这样A将显示,再次返回键也将终止A并显示通知...现在,当用户按下通知图标时,活动C被加载....直到这部分行为正确....现在用户按下,我使用我的代码启动活动A,因为C是从通知加载的.

另一个案例活动A调用Acitivy B.B调用C.当用户按下键C时,生成通知并进入B.现在用户按下HOME KEY.然后经过一段时间选择通知图标,它将显示活动C.现在用户按下返回键,默认情况下它显示活动B(我想要的)....但是我的代码(作为C从通知中加载)... im显示活动A(n用户按下然后显示活动B).

我想知道我自己的应用程序的活动计数,这样我就可以避免执行我的代码来启动活动A(如果它不是1).

到目前为止,我已使用以下代码完成此操作

ActivityManager actM = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> listm = actM.getRunningTasks(1);
int iNumActivity = listm.get(0).numActivities;
Run Code Online (Sandbox Code Playgroud)

但是使用此代码需要使用权限GET_TASKS ...我对此不满意,因为我没有跟踪任何其他应用程序数据/活动计数.

如何解决这个问题?有没有其他方法来实现这一目标?

编辑 如何知道自己的应用程序的活动数?

raj*_*ath 0

一种方法是将显示的 Activity 从每个 Activity 中的 onResume() 推送到堆栈(单例),并在按下“后退”时将其弹出。这样,每当按下“后退”键时,您就会知道当前的活动堆栈。由于这将由所有类共享,因此它将有助于存储值。