我知道这个问题已经在另一个帖子中得到了解答。但它并没有解决我的问题。
我有3 screens: A,B and Home
。应用程序以A开头,然后转到B然后转到主页。但是我希望在它到达Home活动时删除活动A和B,以便在back is pressed app exits
。
我试过了:
Intent.FLAG_ACTIVITY_CLEAR_TOP
。按下后背时工作正常。应用程序退出。但如果我再次从后台打开应用程序,则从屏幕B开始。
Intent.FLAG_ACTIVITY_NEW_TASK.
这完全符合我的要求。但是当Home活动开始时,屏幕上会出现突然的故障并且不顺畅。
答案 0 :(得分:1)
Intent intent = new Intent(getApplicationContext(), Home.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
这将清除所有家庭活动。
答案 1 :(得分:0)
请尝试以下代码:
Intent i = new Intent(YourActivity.this, HomeActivity.class);
i2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
finish();
startActivity(i);
答案 2 :(得分:0)
您也可以这样做,对于您的splashScreen(A),您可以在AndroidMenifest.xml中设置nohistory = true,并转到Activity(B),以及从Activity(B)完成活动时的Activity Home( B)比转到家庭活动。 所以你以前的两个活动都不会堆叠存储。
在Activity B上覆盖onBackPresh()方法,但删除它旁边的super.backpresh()。并开始你的活动A完成这个当前活动,它将工作。