wifi断开连接后,我的重复警报不起作用

时间:2019-03-11 14:03:41

标签: android alarmmanager android-wifi

我的设备没有sim卡或任何网络,但WiFi连接除外。

现在,我为每天设置重复警报,当连接wifi时可以正常工作,但是当Android平板电脑上未连接wifi时,它不会按时触发。

val pendingIntent = PendingIntent.getBroadcast(context, requestCode, archiveIntent, PendingIntent.FLAG_CANCEL_CURRENT)
        val alarms = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager
        alarms.cancel(pendingIntent)
        alarms.setInexactRepeating(AlarmManager.RTC_WAKEUP, updateTime.timeInMillis, AlarmManager.INTERVAL_DAY, pendingIntent)

这是我的观察结果

  1. 比方说,我在7:10 PM设置了一个闹钟,当设备时间更改为7:10 PM时,一直保持wifi连接,可以正常接到电话。

  2. 现在在相同的情况下,将警报设置为7:10 PM,但是当设备时间更改为7:10 PM但那时没有连接wifi时,现在7:11之后,我在设备,在我连接wifi之后,在这种情况下,我的先前设置的警报就被调用了。

谁能知道没有连接wifi时未及时触发警报的原因是什么?

注意::在我的警报广播中,我正在启动WorkManager,该工作有一个限制,即只有在已连接wifi网络的情况下才能启动,但是我相信WorkManager不会影响我的警报触发器。

1 个答案:

答案 0 :(得分:1)

看看这个answer

与wifi无关,它与您进行设置的方式相同,请尝试使用setRepeating而不是setInexactRepeating。差异已经很好地解释了上面的答案。

修改

最终将标志更改为0,如下所示

val pendingIntent = PendingIntent.getBroadcast(context, requestCode, archiveIntent, 0)

传递0会带回任何现有警报或创建一个新警报。