Android Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK无法使用Dialog

时间:2015-07-08 13:56:27

标签: android android-intent dialog back-stack

我不希望用户能够从我的LoginActivity返回某个地方。

这在MainActivity(来自导航抽屉)中效果很好:

Intent intent = new Intent(this, LoginActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();

结果 - 后台堆栈被清除。
但是当我试图从我的自定义对话框中调用它时:

private Context mContext;
Intent intent = new Intent(mContext, LoginActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
dismiss();
mContext.startActivity(intent);
((Activity)mContext).finish();

后台堆栈不清楚,我可以从我的LoginActivity返回到上一个窗口。

试图查找原因,但直到现在都没有结果。

2 个答案:

答案 0 :(得分:0)

我遇到了类似问题,并在android:launchMode="singleTop" activity AndroidManifest.xml中添加了$(document).ready(function() { var s = $(".sidebar"); var sideBarBottomY = s.offset().top+s.height(); $(window).scroll(function() { var windowTopY = $(window).scrollTop(); if (windowTopY>sideBarBottomY){ s.addClass('stick'); }else{ s.removeClass('stick'); } }); });

我从这个question

中提出了这个想法

答案 1 :(得分:0)

尝试清除活动堆栈:

android:noHistory= "true"标记的AndroidManifest.xml文件中为登录活动设置<activity

http://developer.android.com/reference/android/R.styleable.html#AndroidManifestActivity_noHistory