我正在开发小型Android应用程序,其中我有3个活动说A1,A2,A3。我可以从A2回到A1但是当我启动A3然后如果用户点击后退按钮然后我想要关闭所有以前的窗口。我通过以下方式尝试了这个:
Intent intent = new Intent(LoginActivity.this, DashboardActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
但这不适合我。我正在使用动作栏活动。我试图清除任务:
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | IntentCompat.FLAG_ACTIVITY_CLEAR_TASK);
以上清理任务对我有用,但是它以一些空白的白色屏幕启动我的A3。
答案 0 :(得分:0)
试试这个
Intent intent = new Intent(LoginActivity.this, DashboardActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
答案 1 :(得分:0)
使用此
Intent intent = new Intent(LoginActivity.this, DashboardActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish(); // call this to finish the current activity
答案 2 :(得分:0)
您是否已为清单中的所有活动声明android:launchMode="singleTop"
?另外,将其声明为MainActivity
:
<activity android:name=".MyActivity" android:launchMode="singleTop" ... />
通常,当我们不在清单中声明launchMode
时,就会发生这种情况。虽然您使用的是Intent.[MODE]
,但您需要此属性。有关launchMode
。