活动在活动堆栈中的位置

时间:2011-02-18 11:37:08

标签: android android-activity

我的应用程序包含活动A,B,C和活动A已经从启动器启动而B来自A和C从B启动。现在我在C上有一个按钮点击按钮我应该告诉它的位置活动堆栈中的活动c。 Ex A-B-> C表示C位于活动堆栈的3位置。我怎么能找到这个?

提前致谢。

3 个答案:

答案 0 :(得分:1)

由于任务的设计方式,没有其他方法可以解决这个问题。见thisthis 因此,解决方案可以是通过将活动存储在一系列活动中来跟踪活动。 我希望这会有所帮助。

答案 1 :(得分:1)

使用ActivityManager获取您想要的活动的堆栈位置

可以使用以下示例代码

ActivityManager mngr = (ActivityManager) getSystemService( ACTIVITY_SERVICE );

List<ActivityManager.RunningTaskInfo> taskList = mngr.getRunningTasks(10);

获取您想要使用以下代码的活动的位置

taskList.get(0).topActivity.getClassName()

和位置从o(零)开始。

希望这会对你有所帮助。

答案 2 :(得分:0)

这是可能的。

您需要的是一个扩展应用程序的活动。您也可以在清单中声明这一点。

Android global variable

然后在此类中声明一个变量:

      public static int count = 0;

然后在每个班级中

 @Override
 protected void onResume() {
    YourApplicationClass.count++;

 }

 @Override
 protected void onPause() {
   YourApplicationClass.count--;
 }

然后你就知道自己处于什么位置。

System.out.println(“Count is:”+ YourApplicationClass.count);