我已经在应用程序中实现了pin锁功能。要求是在应用程序启动时显示引脚锁定(即可以),以及应用程序何时来自后台。不幸的是,我目前的实施似乎还不够。 使用基本活动的当前实现,其中我已经实现了基于阈值的引脚锁定功能。在活动的onPause我保存当前时间,并在onResume我检查保存和当前时间之间的差异,如果它是磨碎,然后1秒然后我推销活动在顶部。它按预期工作,但门槛太大了。
我尝试过500毫秒,但我的问题是我无法获得更低的阈值,因为在某些较旧/较慢的设备上,引脚屏幕会在活动之间随机弹出(因为500毫秒)转换。
我想问一下是否有人有其他想法如何实现非阈值基址引脚功能。我真的不希望服务在后台运行并不断检查应用程序是否在前台等等。
有什么建议吗? 感谢
答案 0 :(得分:0)
为什么你甚至需要阈值,如果你只是在onResume()或onPause()上强制锁定它应该按预期工作。
答案 1 :(得分:0)
我会按如下方式实现引脚锁定功能:
实施Activity.onUserLeaveHint()
和onBackPressed()
方法,以区分以下onResume()
是否是由于用户互动或例如因为设备的旋转。将标志保存在应用程序缓存中。
仅在onResume()
或onUserLeaveHint()
之前调用(从应用程序缓存中读取)或缓存不是onBackPressed()
时才激活引脚锁定(并启动相应的对话框)存在(第一次运行)
根据您的应用程序,阈值可能很有用。但这应该就像“在10分钟不活动后重新输入你的别针”