首页 > 解决方案 > Android中的警报延迟

问题描述

我有一个应用程序在收到 FCM(Firebase 云消息传递)推送通知时设置警报。它工作正常。

但是,当我重新启动/重新启动设备时,警报需要时间来响铃。我尝试通过添加ACTION_BOOT_COMPLETED广播接收器来重置警报。但是,当收到推送通知后触发 BOOT_COMPLETED 事件时。

因此,响铃警报有延迟。

这是我设置警报的代码

Intent alarmIntent = new Intent(getApplicationContext(), AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), ALARM_ID, alarmIntent,PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) getApplicationContext().getSystemService(Context.ALARM_SERVICE);
if (Build.VERSION.SDK_INT >= 23) {
    alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP,
            System.currentTimeMillis() + 2000, pendingIntent);
} else if (Build.VERSION.SDK_INT >= 19) {
    alarmManager.setExact(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 2000, pendingIntent);
} else {
    alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 2000, pendingIntent);
}

那么,如何在接收推送通知时识别设备是否正在重启?

标签: androidpush-notificationalarmmanager

解决方案


推荐阅读