我阻止通过此代码返回登录活动:
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
finish(); //Finish Login Activity
startActivity(intent); //start second Activity,
当用户进行第二次活动时,他按下主页按钮,应用程序进入后台,当他恢复时,第二个活动出现 - 没关系。 但是当用户在第二个活动中按下后退按钮时,应用程序转到后台,当他恢复它时 - 再次创建登录活动并且它在foregoround上。
如何防止再次创建登录活动?或者我可能不应该完成登录活动,而应该检查用户是否已登录 - 如果是,我应该显示第二个活动?
清单:
<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>
答案 0 :(得分:1)
在清单文件中添加:
android:noHistory="true"
登录活动。
答案 1 :(得分:0)
你可以做的是像这样覆盖onBackPressed方法:
@Override
public void onBackPressed()
{
}
并在该方法中放置您想要它做的事情。 希望对你有用。
答案 2 :(得分:0)
试试这个:
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();