0

我有一个包含 3 个活动的应用程序

LoginActivity
ActivityA
ActivityB

用户从 LoginActivity 开始。登录成功后,进入ActivityA。ActivityA 使用 startActivityForResult 调用 ActivityB 并使用 onActivityResult 处理响应。

如果用户从 ActivityA 或 ActivityB 按下“主页”按钮并重新启动应用程序,我想将用户带回 LoginActivity

我试着玩弄 onRestart 和 onResume。当通过主屏幕或 onActivityResult 重新初始化 ActivityA 时(当用户从​​ ActivityB 返回时),这两者都会被调用。

我该如何实现这个要求?

PS:我检查了关于 SO 的类似问题,但没有找到符合我要求的内容。

谢谢。

4

3 回答 3

0

当您声明启动活动 A 和活动 B 的意图时,请尝试使用 nohistory 标志,例如

Intent intent = new Intent(this, ActivityA.class);

// do not keep this intent in history
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);

startActivity(intent);

然后,当您重新启动时,它将返回登录活动。

于 2012-06-07T12:48:07.420 回答
0

我将把你重定向到这个问题。我认为它应该回答你的问题。

于 2012-06-07T12:56:18.513 回答
0

尝试在您的 AndroidManifest 文件中为每个活动编写此内容

 <activity android:launchMode="singleTask"
        android:name=".LoginActivity" />

 <activity android:launchMode="singleTask"
        android:name=".ActivityA" />

 <activity android:launchMode="singleTask"
        android:name=".ActivityB" />
于 2012-06-07T13:07:01.880 回答