0

我有三个活动,我们称它们为 Act1、Act2 和 Act3。Act1 上有一个登录表单(成功登录后)转到 Act2,其中有两个选项(1. 转到 Act3,转到 Act3 并带有一些额外的数据)。然后用户转到Act3。

当然,当用户按下 android 设备的“home”按钮时,应用程序被最小化并保存在内存中,直到 android 需要使用内存(在这种情况下 App 被销毁)。但是,当用户按下“主页”按钮然后再次快速打开应用程序时,应用程序将恢复到最小化之前处于前台的 Activity。

我希望能够最小化应用程序,然后重新打开后直接进入 Act1 以提示用户再次登录。我不希望应用程序能够在 Act2 或 Act3 中恢复。

4

2 回答 2

1

除非您的应用程序对安全性非常敏感,否则默认行为应该对用户更好:每次启动应用程序时都输入他们的登录名和密码可能会非常烦人。以本机 GMail 应用程序为例:它不需要您每次打开时都重新进行身份验证。

现在,如果您的应用程序真的需要这种行为(比如说它是信用卡保险箱或类似的东西),那么我的第一个猜测是处理 Act3 的 onPause() 并从那里调用 finish()。请注意不要调用 finish() 两次(参见 isFinishing())。

此外,由于这违背了用户的期望,因此请向用户明确说明您的应用程序的行为是为了他们的安全,而不是因为它想要令人讨厌。

于 2012-01-09T15:59:00.613 回答
0

当用户离开您的活动(例如按下主页按钮)时,onPause()首先调用该方法。您应该能够在那里处理您的逻辑(例如,调用finish()Act2 或 Act3)。

编辑:嘿,是的,他说的是:D

于 2012-01-09T16:00:58.453 回答