我希望用户每次尝试输入应用程序时都输入密码。也就是说,每当应用从背景到达前景时,用户必须输入密码,无论是按启动器图标还是长按主页
我实现了第一部分,因为启动器意图被触发,我在该活动的onRestart中得到一个回调。
但是通过长按主页键并启动它不会向onRestart提供回调。
如果用户通过通知栏中的通知启动应用程序,该怎么办?在用户点击通知
之前,如何区分应用程序最初是在后台还是在前台答案 0 :(得分:1)
在onResume
来电中,在loginCounter
- = 1中设置onPause
+ = 1。
如果loginCounter == 0 =>显示登录对话框。
在通知栏中,您设置了Intent
来呼叫Activity
,对吗?只需在那里添加一个参数“isCalledByNotificationBar”作为布尔值。
答案 1 :(得分:1)
如果onResume
不起作用,onWindowFocusChanged(boolean)
怎么办?
答案 2 :(得分:1)
也许您应该做的是重新进入应用程序,看看自上次暂停应用程序的任何活动时更新的时间戳以来,它是否少于30(?)秒。如果它少了,不要问密码。考虑到这个短时间窗口可能会平滑某些转换,您不想注销。