我的应用程序包含活动A,B,C和活动A已经从启动器启动而B来自A和C从B启动。现在我在C上有一个按钮点击按钮我应该告诉它的位置活动堆栈中的活动c。 Ex A-B-> C表示C位于活动堆栈的3位置。我怎么能找到这个?
提前致谢。
答案 0 :(得分:1)
答案 1 :(得分:1)
使用ActivityManager获取您想要的活动的堆栈位置
可以使用以下示例代码
ActivityManager mngr = (ActivityManager) getSystemService( ACTIVITY_SERVICE );
List<ActivityManager.RunningTaskInfo> taskList = mngr.getRunningTasks(10);
获取您想要使用以下代码的活动的位置
taskList.get(0).topActivity.getClassName()
和位置从o(零)开始。
希望这会对你有所帮助。
答案 2 :(得分:0)
这是可能的。
您需要的是一个扩展应用程序的活动。您也可以在清单中声明这一点。
然后在此类中声明一个变量:
public static int count = 0;
然后在每个班级中
@Override
protected void onResume() {
YourApplicationClass.count++;
}
@Override
protected void onPause() {
YourApplicationClass.count--;
}
然后你就知道自己处于什么位置。
System.out.println(“Count is:”+ YourApplicationClass.count);