停止导航回活动

时间:2014-12-08 13:03:30

标签: android android-intent navigation

我有一个有两个活动的应用程序。 MainActivity(这是启动器活动)和LoginActivity。用户启动应用后,会跳过MainActivity并显示LoginActivity。但是,如果按后退按钮,您仍然可以导航到MainActivity。我使用以下代码来阻止这种情况发生,但它无法正常工作。

MainActivity课程中:

Intent intent = new Intent(this, LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);

有什么想法吗?

4 个答案:

答案 0 :(得分:1)

finish(); ... finish()之后使用startActivity(intent);一旦你从中导航就会杀死它。

答案 1 :(得分:1)

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

如果设置两次,则会设置最后一个。

答案 2 :(得分:0)

只需在最后添加finish();并将标记更改为CLEAR_TOP,而不是CLEAR_TASK

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

答案 3 :(得分:0)

你有两个选择 首先:如果你想重新开始工作,但MainActivity不应该在Back,那么完成()MainActivity。

喜欢

 Intent intent = new Intent(this, LoginActivity.class);
 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
 startActivity(intent);
 finish();//this line will finish MainActivity, then there will no instance of MainActivity in backstack.

第二:如果你停止按钮工作,你可以覆盖OnBackPressed()metjod并从中移除super ...然后返回按钮将不起作用(设备)。