Android O监控网络的变化

时间:2017-08-20 18:14:17

标签: android broadcastreceiver android-8.0-oreo

现在推荐的监控WiFi网络连接和断开连接的方法是什么?

通常,我会在我的清单中注册BroadcastReceiver并听取状态变化。

Android O将使这变得不可能:

  

应用无法使用其舱单注册大多数隐式广播(即不是专门针对应用的广播)。

完成同样任务的下一个最佳(耗电量最少)方法是什么?

我的初步评估是创建一个监控网络状态变化的Service。我不喜欢仅为此目的运行永久服务的想法。

2 个答案:

答案 0 :(得分:2)

选项1:您可以在BroadcastReceiver的{​​{1}}中注册Activity Java代码,并在onStart()中取消注册。当然,这只适用于你的onStop()还活着的时候。

选项2:使用JobScheduler。您可以根据Activity网络连接可用性中的可用条件安排作业。

  

我最初的评估是创建一个监控网络的服务   国家变化。我不喜欢运行永久服务的想法   仅为此目的。

即使这不是那么简单。如果系统发现它空闲,您的JobScheduler将被终止。如果您不希望Service被杀,则必须启动Service,但问题是需要向用户显示通知。

答案 1 :(得分:0)

请检查此库 https://github.com/Ahmed-Abdelmeged/Networkito 使用rxjava和Android架构组件以及正常使用