Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓-如何启动活动链?_Android_Android Activity - Fatal编程技术网

Android 安卓-如何启动活动链?

Android 安卓-如何启动活动链?,android,android-activity,Android,Android Activity,我打算在一个链中启动3个活动,比如从主要的开放活动a、B,然后是C,这对用户来说是可见的,但我无法找到在Android中实现这一点的方法。不要问我为什么,我只需要这样做来恢复我的应用程序状态,这是以前的状态 谢谢你的建议 航路点 编辑: 好的,我已经尝试在For cycle中打开活动,但它们没有正确打开。它们是链接的,但只有当我按下“后退”按钮并向我显示时才会重新创建。我需要一些解决方案,它会导致:打开A,如果A被打开,检查是否需要打开B->是,打开B,检查是否需要打开C->是,打开C,不需要打

我打算在一个链中启动3个活动,比如从主要的开放活动a、B,然后是C,这对用户来说是可见的,但我无法找到在Android中实现这一点的方法。不要问我为什么,我只需要这样做来恢复我的应用程序状态,这是以前的状态

谢谢你的建议

航路点

编辑:


好的,我已经尝试在For cycle中打开活动,但它们没有正确打开。它们是链接的,但只有当我按下“后退”按钮并向我显示时才会重新创建。我需要一些解决方案,它会导致:打开A,如果A被打开,检查是否需要打开B->是,打开B,检查是否需要打开C->是,打开C,不需要打开另一个活动->完成你没有提供你尝试过的任何信息,所以我给你一个最简单的答案:

方法startActivityIntent,更多信息

编辑:嗯,这个怎么样?我现在身边没有SDK,但我可以提供一个概念。我不确定它是否有效,但我希望它能引导你找到解决方案

让我们假设这是ActivityA的代码:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (doINeedActivityB) {
        Intent activityC = new Intent(this, ActivityC.class);
        this.startActivity(activityA);
    }
    if (doINeedActivityC) {
        Intent activityC = new Intent(this, ActivityC.class);
        this.startActivity(activityC);
    }
}
在每个活动中重写onResume方法。在此处添加检查和活动的开始

public void onResume() {
  if( condition )
    startActivity( intentForTheNextActivity );
}
其中,条件是您在示例中可能遇到的任何条件,如B应启动,C应启动等,而intentForTheNextActivity是链中以下活动的意图,例如,如果现在在A中,则意图是B等

我很难理解你到底想做什么。有时它看起来像是一条链,a打开B,B打开C,等等,有时你似乎想要一些随机流,a打开B,B打开a,a打开B,B打开C,这使得你很难给出一个具体的答案

我能做的是,建议您仔细阅读以下内容:

特别是方法和步骤


如果您需要更多的帮助-您需要更好地解释自己,可能需要一个图表或一些您迄今为止尝试过的示例代码。

在开始任何活动之前,决定应该开始哪项活动。 以您的案例>>首先检查B,如果是检查C,现在打开所需的1


我知道活动中有可比较的数据,但正确的数据结构将始终允许您在实际需要时随时随地访问数据。

对于未来的读者:如果您希望使用适当的后台堆栈启动活动,则应使用TaskStackBuilder

通过向应用程序清单文件中的每个元素添加android:parentActivityName属性,定义活动的自然层次结构 创建TaskStackBuilder的实例并调用AddNextEntWithParentStack,将要启动的活动的意图传递给它。
有关更多详细信息,请参见编辑的。但是,即使我没有提供足够的信息,你的回复也没有提到开设多个活动。希望编辑,帮助问题是,如果我有动态类,一个接一个的A->B->A->B->A->B,在你的例子中,我从A:B开始打开,但不是全部,只是快速打开,然后完全打开,就这样。。。