android - 与背光关闭相关的倒数计时器问题

标签 android

我使用 CountDownTimer 创建了一个计时器。 此外,当计时器距离完成还有 5 秒时,每秒播放一次哔声,直到完成(变为 0 秒)。

我正在 Android 设备上进行测试,我已将屏幕超时设置为 15 秒。

我发现在屏幕超时完成后,计时器会暂停并且不会完成。 此外,声音不播放。

我将以下代码用于 PowerManagement/唤醒锁,但它没有解决问题。

private PowerManager.WakeLock wl;

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "SampleScreen");

但是,关于使用下面的代码

wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "SampleScreen");

它工作正常,但我想避免使用消耗大量电池的 FULL_WAKE_LOCK

要求是当屏幕关闭时,计时器应该继续运行并且声音文件应该在计时器完成前 5 秒每秒继续播放。

请提供有关如何处理的输入/示例代码。

最佳答案

您应该使用 PowerManager.PARTIAL_WAKE_LOCK 而不是 PowerManager.FULL_WAKE_LOCK

关于android - 与背光关闭相关的倒数计时器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6109080/

相关文章:

android - bindService的疑惑

android - 在包 'widgetCategory' 中找不到属性 'android' 的资源标识符

java - 如何让通知播放声音?

android - 在通知栏中设置没有图标的AlarmClock

android - 为什么我的 TextView 在 ImageView 下没有显示

android - 覆盖所有表单元素样式,如 HTML+CSS

android - 在 jetpack compose 中使用 viewmodel 的最佳实践

android - 该文件不能作为文件描述符打开;它可能被压缩了

android - 使用 native SIP 堆栈

Android Studio - 错误 :Uncaught translation error: com. android.dx.cf.code.SimException:本地 0001:无效