【问题标题】:What would be the best way to handle android connectivity changes?处理 android 连接更改的最佳方法是什么?
【发布时间】:2014-01-25 12:20:42
【问题描述】:


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

感谢您的回答。

问候

【问题讨论】:

    标签: android mobile android-intent android-wifi


    【解决方案1】:

    这是您问题的答案:

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

    您会接到两个电话,因为“CONNECTIVITY_CHANGE”会在根据谷歌文档建立或丢失连接时发送广播,因此,当您更改网络类型时,您会失去一个连接(这是一个呼叫)并且您建立了连接在另一个网络(第二次通话)中,现在当您关闭网络时,您只会收到连接丢失的通话。 请注意,“CONNECTIVITY_CHANGE”只会让您了解网络上正在进行的操作,但是当您碰巧知道哪个网络丢失/建立连接等时,您必须从 ConnectivityManager 查询该信息...

    希望对您有所帮助。

    问候!

    【讨论】:

    • 谢谢马丁,我不确定。当我收到第一条消息时,是否可以检测到丢失连接的类型?如何测试此消息是否是连接丢失?
    猜你喜欢
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    • 2020-04-17
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 2011-12-05
    相关资源
    最近更新 更多