与this问题类似,我在登录活动中添加了无历史记录标记。另一方面,我在登录活动中有一个按钮来显示无线设置。当我按下无线设置意图时,应用程序关闭了!
如何没有历史记录标记和阻止应用程序关闭?
答案 0 :(得分:1)
当您启动其他活动时,您的登录活动将使用无历史记录标志完成。在无线设置旁边启动其他活动时,您必须将无线设置移至另一个活动或在登录活动中调用完成。如果您在登录中保留无线按钮,则不能使用无历史记录。您必须设置一个标志以指示是否正在启动设置无线设置,如果此标志为false,则必须在onStop中设置名为finish()。
在您的登录活动中
private boolean mShowSetting;
在onStop()
if (!mShowSetting)
{
finish();
}
在您开始显示设置
的活动的方法中mShowSetting = true;
并且在你的onResume中你必须设置
mShowSetting = false;
答案 1 :(得分:0)
更新:此解决方案不起作用!我不知道为什么?
将launchMode添加到清单中的登录活动,如下所示:
<activity android:name="Login" android:noHistory="true" android:launchMode="singleTop" />
如果活动的实例已存在于目标任务的顶部,系统会通过调用其onNewIntent()方法将意图路由到该实例,而不是创建活动的新实例。
https://developer.android.com/guide/topics/manifest/activity-element.html