2010-12-01 100 views
3

我希望用户每次尝试输入应用程序时都要输入密码。也就是说,用户必须输入密码,每次应用程序来自于背景前景,按启动器图标是它长按home键如何在Android中密码保护应用程序

我排序的实现第一部分是因为启动器的意图被解雇,我在该活动的onRestart中得到一个回调。

但是通过长按主键并启动不对onRestart提供回调。

此外,如果用户通过按下通知栏中的通知来启动应用程序。我如何区分应用程序是否原本在后台或前地面用户点击的通知

+0

“onRestart” - 你的意思是onResume()? – 2010-12-01 10:41:50

+2

by onRestart我的意思是onRestart,而不是onResume,因为onResume最终会在onStart后调用 – pankajagarwal 2010-12-01 11:06:25

回答

1

之前在你onResume电话,设置loginCounter + = 1,在你的 - = 1

如果loginCounter == 0 =>显示登录对话框。

在通知栏中,您设置了一个Intent以调用Activity,对吗?只需在那里添加一个参数“isCalledByNotificationBar”作为布尔值。

+1

在旁注:您无法覆盖HomeKey的行为。只有修改Android源代码并将其部署到目标设备上(不太可能)。 – 2010-12-01 10:52:40

1

如果onResume不起作用,onWindowFocusChanged(boolean)怎么样?

1

也许你应该做的是重新进入应用程序,看看它自从上次暂停应用程序的任何活动时更新的时间戳以来是否少于30(?)秒。如果它少了,不要求输入密码。认为这个短时间窗口可能会平滑过渡到一些你不想注销的过渡。