Android 闹钟管理器通知晚了

标签 android

我在android中实现了一个闹钟,但大多数时候它通知得很晚。

在我的应用程序中,我可以一次创建多个闹钟,但如果这样做,则只有最后一个闹钟会通知。

请帮我找到解决方案。

Calendar calendar1 = Calendar.getInstance();
    calendar1.set(Calendar.HOUR_OF_DAY, 11);
    calendar1.set(Calendar.MINUTE, 55);
    calendar1.set(Calendar.SECOND, 0);
    calendar1.set(Calendar.AM_PM,Calendar.AM);

    Intent myIntent1 = new Intent(MainActivity.this, MyReceiver.class);
    pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, myIntent1,0);

    AlarmManager alarmManager1 = (AlarmManager)getSystemService(ALARM_SERVICE);
    alarmManager1.setRepeating(AlarmManager.RTC, calendar1.getTimeInMillis(),3600000, pendingIntent);

最佳答案

mentioned , 安卓 no longer triggers the alarm at the exact time, unless you explicitly request it :

Note: Beginning with API 19 (KITKAT) alarm delivery is inexact: the OS will shift alarms in order to minimize wakeups and battery use. There are new APIs to support applications which need strict delivery guarantees; see setWindow(int, long, long, PendingIntent) and setExact(int, long, PendingIntent). Applications whose targetSdkVersion is earlier than API 19 will continue to see the previous behavior in which all alarms are delivered exactly when requested.

这是不可能的重复警报,重复警报总是在系统认为最好时触发:

As of API 19, all repeating alarms are inexact.

关于多个闹钟的问题seems solved .

关于Android 闹钟管理器通知晚了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29554883/

相关文章:

Android Studio - Maps.me 设置

java - 在recyclerview中打开项目后分页不起作用 - Android

android - 计算 map 上街道两侧的gps坐标

java - 发送 arraylist 值并在 php 中获取该数组值

android - 将带有 amr_nb 音频编解码器的 .mov 包装器转换为 aac/mp4a 编解码器

不是对话框的 Android 日期/时间选择器

android - SeekBar onProgressChanged() 问题

Android Studio 2.3 : Could not initialize class org. jetbrains.kotlin.android.actions.NewKotlinActivityAction

android - Logcat 是 "spammed",导致 "Too much output to process"

java - 将数据传递给 Android 中的自定义 View