Android阻止后退按钮关闭应用程序

时间:2018-07-27 13:59:44

标签: android

在我的应用程序中,我想防止用户登录后返回登录活动,但是我不想关闭该应用程序。例如,如果上一个活动是登录活动,那么当用户按下时我不想执行任何操作,只需停留在当前活动/片段中即可。

3 个答案:

答案 0 :(得分:0)

在登录活动中添加finish();,并在下一个活动中添加onBackPressed

  @Override
    public void onBackPressed() {

    }

答案 1 :(得分:0)

正确的方法是在登录活动完成并启动下一个活动时在登录活动中调用finish()。例如:

Intent intent = new Intent(LoginActivity.this, NextActivity.class);
startActivity(intent);
finish();

这将防止用户从NextActivity返回到LoginActivity,因为调用finish()会破坏LoginActivity并将其从后堆栈中删除。

无需从onBackPressed中删除NextActivity,这可能会带来意想不到的后果(例如,如果他们从Login -> Next -> Other -> Next导航然后单击返回,则他们希望返回到Other)。在onBackPressed中禁用Next可以防止这种情况。

答案 2 :(得分:0)

在LoginActivity的清单中添加android:noHistory="true"

<activity android:name=".LoginActivity" android:noHistory="true">
  <intent-filter>
    <action android:name="android.intent.action.MAIN"/>
    <category android:name="android.intent.category.LAUNCHER"/>
  </intent-filter>
</activity>