在Android O及更高版本上使用广播接收器

时间:2018-12-19 08:42:16

标签: android broadcastreceiver android-8.0-oreo android-broadcast

在我的应用中,我使用3个广播接收器进行以下广播:

android.net.wifi.STATE_CHANGE
android.intent.action.ACTION_POWER_CONNECTED
android.intent.action.USER_PRESENT

现在,在使用Android O之前,一切正常。但是由于对后台工作的新限制,我在播放这些广播时遇到了麻烦。 我经常需要接收有关诸如WIFI状态更改,设备是否仍在运行或处于运动中(即使应用未运行)之类的事件的广播。

我曾尝试使用JobScheduler收听wifi广播,但似乎系统在一定时间后仍会终止该服务,而且当我从“最近使用的”应用中将其刷除时,该服务也将停止工作。

我当时在想,正在使用前台服务注册广播,是解决这个问题的好主意吗?

您会提出什么解决方案?

1 个答案:

答案 0 :(得分:0)

根据Android文档,在Android Oreo及更高版本中不建议使用Manifest的隐式广播接收器

https://developer.android.com/about/versions/oreo/android-8.0-migration.html#rbr