繁体   English   中英

避免返回上一个活动

[英]Avoid returning to previous activity

我有一个应用程序,一开始可以检查用户是否已登录并以两种方式运行:

1)如果用户已登录,则直接从第二个活动开始跳过注册/登录活动

2)让用户从相对活动开始进行注册/登录过程

但是我有一个问题:如果用户已登录(该应用程序直接从第二个活动启动)并按返回软键,则该应用程序将显示注册/登录活动。

我该如何避免呢?

我当时正在考虑通过在第二个活动中调用onBackPressed()来修改软键的行为,但是我认为这不太正确...

您可以做的是通过startActivityForResult()启动第二个活动,并覆盖onActivityResult 当您从第二个活动返回时(如果已注销),请使用单独的requestCode;对于另一个活动(即,按下后退按钮),将其重写为finish()

假设您拥有StartActivity ,它具有打开LoginActivityMainActivity的逻辑。 向您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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM