gpt4 book ai didi

android - 如何以编程方式关闭 Android 上的屏幕保护程序/锁定屏幕(Nook Simple Touch)

转载 作者:搜寻专家 更新时间:2023-11-01 09:09:09 26 4
gpt4 key购买 nike

我写了一个简单的闹钟风格的应用程序,我在我的(越狱)Nook Simple Touch(又名 NST)上运行,在 Android 2.1 下。

当预定的闹钟时间到达时,我的应用程序需要唤醒 NST 并显示一页 HTML 内容。我使用 AlarmManager 在正确的时间获得回调,它似乎按预期工作 - 几乎。

当 NST 激活其锁屏模式(即自动显示著名作者的漫画)的空闲时间足够长时,就会出现问题。我找不到一种编程方式来关闭锁定屏幕,以便我的 HTML 内容可见。我可以看到我的警报回调例程在预期的时间运行(通过 Eclipse 中的 LogCat View ,在我使用 adb 重新连接到 NST 之后),并且在我用手指手动“拖动以解锁”之后,我可以看到我的应用程序的窗口按预期更新,但我需要在警报事件发生时让文本可见,而不仅仅是在用户解锁设备之后。我尝试了下面显示的代码(基于其他 StackOverflow 答案),但没有帮助。

关于如何做到这一点有什么想法吗? (技术上可行的一个解决方案是始终在我的窗口上设置 FLAG_KEEP_SCREEN_ON,这样著名作者锁屏就永远不会出现,但这会使 NST 保持清醒状态,因此它会很快耗尽电池,所以我想尽可能避免这种情况)

private void wakeUpTheScreen()
{
Window win = getWindow();
win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
}

最佳答案

哈,我想通了(在 previous StackOverflow answers 的更多帮助下)我做错了什么。

问题如上面的链接所述——AlarmManager 按预期调用我的 BroadcastReceiver,然后我的 BroadcastReceiver 会向我的 AlarmHandler 发送消息()消息(如我抄袭的 Alarm 示例所示)。但是 Nook 会在 onReceive() 返回后立即回到 sleep 状态,这意味着辅助处理程序从未被调用,因此我的 wakeUpTheScreen() 方法没有被执行。

我移动了 wakeUpTheScreen() 调用,现在可以直接从 onReceived() 方法调用它,现在唤醒按预期工作。 :^)

关于android - 如何以编程方式关闭 Android 上的屏幕保护程序/锁定屏幕(Nook Simple Touch),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9650974/

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