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