我有以下情况: -
应用程序加载,出现一个初始密码登录屏幕。一旦用户登录,他们就会被带到第二个屏幕。如果他们点击第二个屏幕上的后退按钮,我会使用以下代码将它们带到设备的主页: -
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
问题是当我再次启动应用程序时,它会从第二个屏幕开始。我希望它再次从登录屏幕开始。
答案 0 :(得分:5)
finish()
你的第二项活动就在回家之前。
finish();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
答案 1 :(得分:0)
为什么不在第二项活动上拨打finish()
?您无需通过callind startActivity()
将用户重定向到HOME屏幕。如果您的第一个(登录)活动启动了第二个活动并且自己调用了finish()
,那么您的活动堆栈中只有一个活动(第二个活动)。如果您在该活动上致电finish()
,活动堆栈中没有任何内容,您的应用程序就会结束。
不需要将用户重定向到HOME屏幕的额外代码。