gpt4 book ai didi

Android M(预览版)打瞌睡模式和 AlarmManager

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:43:12 28 4
gpt4 key购买 nike

我正在尝试测试我们的 Android 应用程序在操作系统进入打瞌睡模式时的行为。我正在使用运行 Android API 23(修订版 1)的模拟器。应用程序使用类型为 ELAPSED_REALTIME_WAKEUP 的方法 setInexactRepeating 通过 AlarmManager 启动服务。我将闹钟设置为大约每三分钟触发一次(仅用于测试目的)。经过几次尝试(官方指南非常不清楚),我通过锁定模拟器的屏幕并运行 dumpsys 建议的命令成功地将模拟器置于 IDLE 状态。当设备处于空闲状态时,我仍然能够看到警报启动的服务。这不应该是预期的行为。我期待警报停止。这是一个错误吗?还是我遗漏了什么?

最佳答案

测试使用下面的代码。

adb shell dumpsys deviceidle enable 
adb shell dumpsys battery unplug
adb shell dumpsys deviceidle step
adb shell dumpsys deviceidle force-idle

使用 setAndAllowWhileIdle 强制唤醒智能手机。

在我的例子中,我使用这个:

if (android.os.Build.VERSION.SDK_INT > 22) {
am.setAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender);
} else {
am.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), AlarmManager.INTERVAL_DAY, sender);
}

我相信警报会被停止。

关于Android M(预览版)打瞌睡模式和 AlarmManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32904106/

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