什么是处理Android连接变化的最佳方法?

时间:2014-01-07 17:28:51

标签: android mobile android-intent android-wifi


我正在开发一种移动应用程序,当手机从wifi切换到移动,从手机到wifi,从wifi或移动到无网络,从无网络到wifi或移动时,需要恢复其连接。 我已经写了一个BroadcastReceiver对象来捕获CONNECTIVITY_CHANGE意图,我从上下文中获得了一个ConnectivityManager对象。然后我从中创建了一个NetworkInfo对象。
问题是:每次切换网络类型时,为什么我会得到两个意图(当我关闭网络时,我只收到一条消息)。
我想第一个意图的目的是通知活动连接已关闭,第二个意图是通知系统切换到另一个活动连接,但我不确定这个以及如何在接收器中测试它。登记/> 有没有人有一个代码片段来正确处理这种事件?

感谢您的回答。

此致

1 个答案:

答案 0 :(得分:0)

这是你问题的答案:

  

为什么每次切换网络类型时都会得到两个意图(当我关闭网络时,我只收到一条消息)。

你得到两个电话是因为“CONNECTIVITY_CHANGE”在根据googles文档建立或丢失连接时发送广播,所以,当你改变网络类型时,你失去了一个连接(那是一个呼叫),你建立了连接在另一个网络(第二次呼叫)中,现在当您关闭网络时,您只能获得连接丢失的呼叫。 请注意,“CONNECTIVITY_CHANGE”只让您了解网络正在进行的操作,但是当碰巧知道网络丢失/建立连接等时,您必须从ConnectivityManager查询该信息...

希望它有所帮助。

问候!