[英]Avoid returning to previous activity
我有一个应用程序,一开始可以检查用户是否已登录并以两种方式运行:
1)如果用户已登录,则直接从第二个活动开始跳过注册/登录活动
2)让用户从相对活动开始进行注册/登录过程
但是我有一个问题:如果用户已登录(该应用程序直接从第二个活动启动)并按返回软键,则该应用程序将显示注册/登录活动。
我该如何避免呢?
我当时正在考虑通过在第二个活动中调用onBackPressed()
来修改软键的行为,但是我认为这不太正确...
您可以做的是通过startActivityForResult()
启动第二个活动,并覆盖onActivityResult
。 当您从第二个活动返回时(如果已注销),请使用单独的requestCode;对于另一个活动(即,按下后退按钮),将其重写为finish()
。
假设您拥有StartActivity
,它具有打开LoginActivity
或MainActivity
的逻辑。 向您AndroidManifest.xml添加以下XML:
<activity
android:name="com.example.StartActivity"
android:label="@string/app_name"
android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
并在您的StartActivity
,在调用startActivity(newActivityIntent)
调用finish()
。 例:
Intent intent;
if (isLoginRequired) {
intent = new Intent(this, LoginActivity.class);
} else {
intent = new Intent(this, MainActivity.class);
}
startActivity(intent);
finish();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.