android - 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);
}
那么,如何在接收推送通知时识别设备是否正在重启?
解决方案
推荐阅读
- go - 在测试表中转换黄金和输入文件
- c# - 在 C# 项目中,什么是 ReferenceFromRuntime
- python - 用户是否有一种简单的方法可以灵活地选择哪些列表/字符串可以组合?
- rest - 从 spring boot 到远程 elasticsearch 服务的查询搜索
- php - 将 Composer bin 目录添加到 PATH 后找不到 Laravel 命令
- c++ - 由于未定义的引用,无法链接 Crypto++ Speck 算法
- ruby-on-rails - 更新迭代器中的哈希值,所有值都将是 rails 中的最后一次迭代
- python - Error with code that should sort students into a class role
- javascript - React PureComponent 在不应该更新的时候更新
- javascript - 'This' 在使用 react 解析 xml API 时未定义