有关警报管理器行为和唤醒锁的问题

发布于 2024-12-26 00:00:16 字数 373 浏览 2 评论 0原文

我在服务中使用警报管理器每 15 秒设置一次非唤醒警报来执行特定任务。我不想唤醒手机,因为任务对时间要求不高,因此我使用 ELAPSED_REALTIME 标志来设置闹钟。代码如下:

alarm.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(), 15 * 1000, intentRecurringChecks);

我在日志中注意到该任务每 15 秒执行一次。这是否意味着即使屏幕已关闭半小时,手机仍保持唤醒状态?有没有一种方法可以确保我的应用程序不是唤醒手机的应用程序?

我已经搜索过这个主题,但找不到正确的答案。

感谢您的帮助。

I'm using alarm manager in my service to set non-waking alarms every 15 seconds to execute a certain task. I don't want to wake the phone up as the task isn't time critical, so i'm using the ELAPSED_REALTIME flag to set the alarm. Here's the code:

alarm.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(), 15 * 1000, intentRecurringChecks);

What I'm noticing in my logs is that the task is getting executed every 15 seconds. Does this mean the phone is staying awake even though it's screen has been turned off for half an hour? Is there a way I can be sure my application's not the one waking up the phone?

I've search about this topic but I can't find a proper answer.

Thanks for your help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

a√萤火虫的光℡ 2025-01-02 00:00:16

首先,您不应该将 AlarmManager 用于此类超时。 文档中明确提到了这一点(请阅读粗体部分)。在您的情况下,最好使用基于 Handler 的计时器。这是一个示例:延迟重复任务?< /a>.

其次,当设备通过 USB 连接时,它不会进入深度睡眠模式。您应该断开设备连接并等待一两分钟。将其装回并分析日志。

First, you shouldn't use AlarmManager for such timeouts. This is explicitly mentioned in documentation (read the bold part). It's better to use Handler based timers in your case. Here is an example: Repeat a task with a time delay?.

Second, when device is connected via USB, its not going to deep sleep mode. You should disconnect your device wait a minute or two. Attach it back and analyze the logs.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文