首页 > 解决方案 > AlarmManager 在模拟器中触发,但不在物理 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 分钟工作一次。

标签: androidalarmmanagerbackground-process

解决方案


后台服务在某些设备中不起作用,例如 Vivo:ColorOs OnePlus:OxygenOs MI:FunTouchOs。. . .

More information check this below url.

https://stackoverflow.com/a/52373492/7387028

推荐阅读