我有一个包含3个活动的应用
LoginActivity
ActivityA
ActivityB
用户以LoginActivity开头。登录成功后,他去了ActivityA。 ActivityA使用startActivityForResult调用ActivityB并使用onActivityResult处理响应。
如果用户从ActivityA或ActivityB按“主页”按钮并重新启动应用程序,我想将用户带回LoginActivity
我尝试过使用onRestart和onResume。当ActivityA通过主屏幕或onActivityResult重新初始化时(当用户从ActivityB返回时),都会调用这两个。
如何实施此要求?
PS:我在SO上检查了类似的问题,但没有找到符合我要求的东西。
感谢。
答案 0 :(得分: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);
然后,当您重新启动时,它将返回登录活动。
答案 1 :(得分:0)
我会将您重定向到此问题here。我认为它应该回答你的问题。
答案 2 :(得分:0)
尝试在每个活动的AndroidManifest文件中写这个
<activity android:launchMode="singleTask"
android:name=".LoginActivity" />
<activity android:launchMode="singleTask"
android:name=".ActivityA" />
<activity android:launchMode="singleTask"
android:name=".ActivityB" />