Android检测到没有数据连接
Posted
技术标签:
【中文标题】Android检测到没有数据连接【英文标题】:Android detect no data connection 【发布时间】:2011-06-09 14:23:12 【问题描述】:我知道有一些关于这个主题的话题,但似乎没有一个能回答我的问题。我希望能够检测设备何时没有数据连接。我已经尝试过 NetworkInfo 路由检查它是否为 null、isConnected()、isAvailable() 等。我遇到的问题是当 wifi 或移动网络被禁用时这些工作正常(返回 false 或 null)但是当它们被启用但有没有信号他们返回真。有什么方法可以检测到没有信号导致没有数据连接?
【问题讨论】:
【参考方案1】:构建接收器并捕获广播
Intent action for network events in android sdk
【讨论】:
但是我怎么知道没有数据连接,是否有识别它的意图。 您需要通过调用 ConnectivityManager.getNetworkInfo 手动在 onRecive 中执行此操作 ...阅读文档 ...【参考方案2】:您可以尝试 ping google.com。如果没有响应,您可以相当确定没有连接(除非用户所在的国家/地区被屏蔽)。
【讨论】:
【参考方案3】:我使用 ConnectivityManager.getActiveNetworkInfo.isConnectedOrConnecting()
我刚刚在 5 分钟前对其进行了测试以确保,如果一切正常,然后我离开我的房子,直到我的路由器不再在范围内并且状态栏上的网络强度指示器显示没有网络,呼叫从应用内到 isConnectedOrConnecting() 返回 false。
我认为这不是您所看到的行为?
【讨论】:
以上是关于Android检测到没有数据连接的主要内容,如果未能解决你的问题,请参考以下文章
检测设备是否连接到哪个网络,然后从服务器发送数据取决于连接的网络
有没有办法让firebase实时数据库存在系统更快地检测断开连接