我的应用程序中有3个活动:
Activity1 -> Activity2 -> Activity3
在Activity3中,如果用户按下Back键,我想返回到Activity2。在Activity3的onPause事件中,我添加了一个
finish()
语句。这可能甚至不是必要的,但我想确保这个Activity被清理干净。这很好地解决了问题。然而,在Activity3中,如果用户按下Home键或启动新应用程序(通过通知栏或其他方式),我希望Activity3和Activity2都能结束。如果用户返回该应用程序,则应恢复到Activity1。
我已经找出如何实现其中一种情况,但我无法想出如何处理两种情况,如果可能的话。我能否在Activity3中捕获“Back”按钮,并向Activity2发送消息告诉它不要
finish()
?似乎不管你怎么做将它们发送到后台,这些活动都会遵循相同的生命周期流程(暂停、停止)。只是回答为什么我想要这种行为的问题,想象一下
Activity1
是一个登录屏幕,Activity2
是一个选择屏幕,Activity3
是一个内容屏幕。如果我从内容页面返回,我想能够进行新的选择。如果我通过任何其他方式退出(Home键,通知栏),我希望用户被“注销”。提前感谢您的帮助。