AlarmManager 在模拟器中触发但不在物理 Oreo 设备上触发

AlarmManager firing in emulator but not on physical Oreo device

我们在后台运行 一些警报服务,它在 Oreo 模拟器中工作,但在真实设备上它不工作。谁能告诉我为什么我的代码会失败?

val alarmIntent = Intent(this, NetworkChangeReceiver::class.java) 
val pendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT) 
val calendar = Calendar.getInstance() 
calendar.setTimeInMillis(System.currentTimeMillis()); 
calendar.add(Calendar.MINUTE, 1) 
val manager = getSystemService(Context.ALARM_SERVICE) as AlarmManager 
manager.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.timeInMillis, 1000 * 60, pendingIntent)

另一个选项是使用工作管理器,但它每 15 分钟才工作一次。

后台服务在某些设备中无法正常工作,例如 Vivo : ColorOs OnePlus : OxygenOs MI : FunTouchOs 。 . . .

More information check this below url.