Intent.FLAG_ACTIVITY_CLEAR_TOP不起作用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Intent.FLAG_ACTIVITY_CLEAR_TOP不起作用相关的知识,希望对你有一定的参考价值。
我的申请流程:
登录->配置文件-> UpdateProfile-> ChangePass
我的所有活动都扩展了FragmentActivity
当我在ChangePass活动中按按钮时,我将此代码称为:
Intent intent=new Intent(getApplicationContext(),LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
因此它应该启动LoginActivity,并且当我从LoginActivity按下时,应用程序应该关闭...但是当我从Login Activity中按下返回按钮时,流程为:
ChangePass-> UpdateProfile-> Profile->登录
为什么不清除我的后背包?
注意:
开发人员有时将FLAG_ACTIVITY_CLEAR_TASK
与FLAG_ACTIVITY_CLEAR_TOP
混淆
使用此代替intentRestart.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
Intent intent = new Intent(getActivity(), LoginActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
finish();
[有关更多替代方法和详细信息,请检查intent-flag-activity-clear-top-doesn't-deletes-the-activity-stack。帖子完美地解释了结果代码以及上述解决方案。
尝试使用addFlags。
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)
这可能会在过渡时创建一个临时白屏。消除此缺陷。将此添加到您的应用主题。
<item name="android:windowDisablePreview">true</item>
享受Android!
以上是关于Intent.FLAG_ACTIVITY_CLEAR_TOP不起作用的主要内容,如果未能解决你的问题,请参考以下文章