当前位置: 首页 > 知识库问答 >
问题:

防止在按下后退按钮后返回登录活动并从后台恢复应用程序

孔驰
2023-03-14

我通过以下代码阻止返回登录活动:

Intent intent = new Intent(getApplicationContext(), MainActivity.class);
finish(); //Finish Login Activity
startActivity(intent); //start second Activity,

当用户处于第二个活动上并且他按下主页按钮,应用程序进入后台,当他恢复它时,第二个活动出现 - 没关系。但是,当用户在第二个活动中按后退按钮时,应用程序进入后台,当他重新喜欢它时 - 登录活动再次创建并且它处于前期。

如何防止再次创建登录活动?或者,我不应该完成登录活动,而是应该检查用户是否已登录-如果是,我应该显示第二个活动?

清单:

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".LoginActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".MainActivity"></activity>
</application>

共有3个答案

阎单鹗
2023-03-14

试试这个:

 Intent intent = new Intent(this, MainActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
    finish();
太叔栋
2023-03-14

您可以这样重写onBackPressed方法

@Override
public void onBackPressed()
{

}

把你想让它做的任何事情都放在那个方法里。希望这对你有用。

巢烨
2023-03-14

在清单文件中添加:

android:noHistory="true"

到登录活动。

 类似资料:
  • 我有一个玩家活动和浮动玩家(服务),点击后退按钮后,玩家活动关闭,浮动玩家开始行动,当我点击浮动玩家时,我想回到玩家活动,但没有再次运行创建方法。 我在StackOver Flow中读到了很多解决方案,特别是使用FLAG\u ACTIVITY\u CLEAR\u TOP和FLAG\u ACTIVITY\u SINGLE\u TOP标志,或者将android:launchMode=“singleTa

  • 我有一个名为logIn的活动,它会导致一个名为users not的活动。我希望防止users活动返回到logIn活动,因此a在users活动中添加了以下代码: 它工作得很好,但现在我希望用户能够注销,这样他就可以通过单击按钮返回到登录活动,我在用户活动中添加了一个按钮,并添加了onClickListener,如下所示: 但是,当我添加onClickListener时,当我单击登录按钮时,应用程序崩

  • 我有一个活动,当我的应用程序首次启动时开始(只有一次)。该活动允许用户选择主题。然后当他们按下完成键时,我完成了这项活动。这会将用户引导到主活动。但是当用户按下返回按钮时,它会返回到第一次启动的活动(我使用完成()关闭的活动)。但我想要的是,应用程序应该关闭时,用户按下返回按钮从主活动(总是)。我在两个类中都重写了onBackPress。 这两个类中的onBackPressed方法如下所示: 主活

  • 嗨,我已经在应用程序抽屉中创建了片段,现在当我按下一个片段上的后退按钮时,它正在关闭应用程序。

  • 嘿,伙计们,我目前正在为我的最终项目开发一个应用程序,这个概念是一个保持联系的应用程序,但有用户登录和注册。当用户输入他们的凭据并按下登录按钮时,它会启动一个意图移动到另一个页面,在此 Intent 上,我用 .finish() 方法结束它,这样用户就无法返回,但是当执行该操作时,用户意外按下设备上的物理后退按钮,应用程序将关闭,如果您尝试通过执行多任务物理按钮再次打开它在设备上,你选择它,它从头

  • 这显然是我在这里的第一篇文章...好吧,我的问题如下:@android:我有一个用户输入文本的文本编辑器,我通过getText()获取文本,一切正常,但当我按下后退按钮,再次返回到文本编辑器的相同活动并尝试再次获取文本时,它返回空字符串"",尽管文本编辑器视图中显示了不同的文本。会不会是文本编辑仍然与旧的关闭活动“相关或对应”?有什么想法吗? 然后在 AsynckTask 中,我将文本发送到发送,