2011-11-21 70 views
0

我的主活动是一个密码对话框(@android:style/Theme.Dialog)。成功验证后,它将启动应用程序页面(也是一个Activity),并自行调用finish()。对我来说重要的是密码对话框独立启动,不会浮在应用程序页面的顶部。我的Android应用程序的密码对话框

一切都很好,第一次。但是,当用户通过按主页离开应用程序,然后单击“桌面”上的应用程序图标返回时,密码对话框不会再次启动(因为调用了onResume)。如果用户按下后退按钮离开应用程序,然后重新启动应用程序,则会调用密码对话框。

我想到的越多,我的解决方案越不优雅!我希望这里有一个简单的解决方案。在我写这篇文章时,我尝试了不在密码对话框中调用finish()的选项,但这并没有改变任何事情。

+0

为什么重要登录对话框是独立的,而不是浮动在应用程序的顶部? – Jack

+0

主应用程序页面中的一些字段将是可见的,因为浮动密码对话框只占用屏幕的一小部分。 – PVS

+0

啊,我看,模糊不足够吗? http://www.anddev.org/code-snippets-for-android-f33/blurring-dimming-background-windows-when-dialog-is-displayed-t10447.html – Jack

回答

2

在你的onResume()方法(当从一个“家”按钮按下恢复时),拨打电话再次登录。对不起,这样简短的答案,但这听起来像是最合理的解决方案:)。

+0

谢谢你的回应。从onResume调用登录名/密码对话框有两个问题: - 对话框第一次出现两次,令用户感到困惑(是的,可以使用布尔值来避免这种情况) - 在后续时间,密码对话框将显示在应用程序主页面上,并且一些可见的信息可能是保密的 – PVS

0

最后,我决定在onResume()中使用一个定时器。如果最后一次输入密码的时间超过30秒,那么我再次显示对话框。是的,我正在使用模糊(谢谢杰克!)。

相关问题