【问题标题】:Alarm Manager not getting called with Google Nexus 4Google Nexus 4 未调用警报管理器
【发布时间】:2014-06-20 06:26:34
【问题描述】:

我开发了一款 Android 应用。我需要为某些操作设置警报。

问题是警报接收器在所有其他设备上都可以正常工作,但在使用 Google Nexus 4 时有时会被调用! :-(

当我设置警报时,它会打印出比当前时间晚 5 分钟的日志。

Alarm set for : Fri Jun 20 06:07:00 GMT+00:00 2014

但是当时间到达时,它有时会被调用,有时不会! :-(

我已将日志放入接收器,它会在某个时候打印出来。

请帮忙! 谢谢!

【问题讨论】:

    标签: android alarmmanager android-alarms repeatingalarm


    【解决方案1】:

    从API19开始,报警管理器有点随机:

    注意:从 API 19 (KITKAT) 开始,警报传递是不准确的:操作系统将切换警报以最大程度地减少唤醒和电池使用。有新的 API 来支持需要严格交付保证的应用程序;参见 setWindow(int, long, long, PendingIntent) 和 setExact(int, long, PendingIntent)。 targetSdkVersion 早于 API 19 的应用程序将继续看到以前的行为,即所有警报都在请求时准确传递。

    http://developer.android.com/reference/android/app/AlarmManager.html

    【讨论】:

    • 谢谢!我想设置间隔为 1 天的重复闹钟。我已经看过 API 并且无法设置它...我的意思是没有像 setExactAlarm 方法这样的方法 :-( 请帮助!
    • @SanketShah 请再次阅读我的回答。附带说明一下,如果您的应用也支持旧设备,则应在设置警报之前检查设备 API 级别。
    • 感谢您的帮助...现在我在设置警报之前检查 API 级别并按照您说的进行相应设置...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-02
    • 1970-01-01
    • 1970-01-01
    • 2011-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多