我有三个活动,我们称之为Act1,Act2和Act3。在Act1上有一个登录表单(成功登录后)转到Act2,它有两个选项(1.转到Act3,转到Act3,带有一些额外的数据)。然后用户进入Act3。
当然,当用户按下Android设备的“主页”按钮时,应用程序被最小化并保存在内存中,直到android需要使用内存(在这种情况下App被销毁)。但是,当用户按下“主页”按钮然后再次快速打开应用程序时,应用程序将恢复到最小化之前位于前台的活动。
我希望能够最小化应用程序,然后重新打开后直接转到Act1以提示用户再次登录。我不希望应用程序能够在Act2或Act3中恢复。
答案 0 :(得分:1)
除非您的应用程序确实对安全性敏感,否则默认行为对用户来说应该更好:每次启动应用程序时输入他们的登录名和密码都会非常烦人。例如,本机GMail应用程序:它不需要您每次打开时重新进行身份验证。
现在,如果您的应用程序确实需要这种行为(说它是信用卡安全或类似的东西),那么我的第一个猜测就是处理Act3的onPause()并从那里调用finish()。注意不要两次调用finish()(参见isFinishing())。
此外,由于这是用户期望的破坏,因此请向用户明确说明您的应用的行为与安全性相同,而不是因为它想要烦人。
答案 1 :(得分:0)
当用户离开您的活动时(例如按下主页按钮),首先调用onPause()
方法。您应该能够在那里处理您的逻辑(例如,在Act2或Act3上调用finish()
)。