gpt4 book ai didi

android - 从代码中启用或禁用 PatternLock 屏幕

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:33:36 24 4
gpt4 key购买 nike

我试图找到一种方法来暂时禁用 PatternLock 屏幕。我不希望锁被完全禁用,但用户不需要一直重新输入他的模式。

我的想法是编写一个服务,在一些用户 Activity 后禁用该模式,并在一段时间后重新启用它。 (甚至更多)

市场上有做类似事情的应用程序(即 AutoLock 或 TogglePattern),因此必须有一个解决方案。

我知道我可以通过使用来完全防止锁定:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

KeyguardLock.disableKeyguard()

但这不是我所追求的。

我在设置 Activity 使用的 android 源代码中看到类 com.android.internal.widget.LockPatternUtils,但是这个类不可访问(至少据我所知)通过“正常”应用程序。

你有什么建议吗?

最佳答案

从 2.0(API 级别 5)开始,您可以使用此窗口标志来防止在显示窗口时显示锁定屏幕:

http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_SHOW_WHEN_LOCKED

您还可以使用此标志允许在显示窗口时关闭不安全的键盘锁:

http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_DISMISS_KEYGUARD

请注意,这些不允许您在应用程序环境之外绕过锁定屏幕,这是一个有意的设计决定。

还有一个较旧的 API 可以让您以类似于唤醒锁的方式隐藏锁定屏幕:

http://developer.android.com/reference/android/app/KeyguardManager.html#newKeyguardLock(java.lang.String)

不鼓励在较新的平台上使用此 API,因为它很容易出错并导致不良行为(屏幕不会在用户期望的时候锁定),并且基本上不可能在未锁定的 Activity 之间进行干净的转换状态。例如,这是通话屏幕最初用于在显示时隐藏锁定屏幕的 API,但从 2.0 开始,它已切换到新的清洁窗口标志。同样适用于闹钟等。

关于android - 从代码中启用或禁用 PatternLock 屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2192699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com