android - Android - 检查用户连接的连接是否有互联网连接
问题描述
我正在使用getActiveNetworkInfo
获取用户已连接的网络,并使用isConnected
来验证它是否已连接。我正在使用以下代码执行此操作:
val connectivityManager = getSystemService(CONNECTIVITY_SERVICE) as ConnectivityManager?
val activeNetworkInfo = connectivityManager?.activeNetworkInfo
return activeNetworkInfo?.isConnected == true
问题是,如果用户连接到没有互联网连接的 wifi,则isConnected
返回 true。
如何验证此网络连接是否有 Internet 连接?
我知道我可以向某些服务执行请求以验证用户是否已连接,但我的目的是在应用程序内为用户显示横幅,以通知他他没有互联网连接。因此,例如,当他请求某些东西时,我可以通知用户它不会工作并且不显示加载,然后显示错误消息。
继续汇集服务以验证互联网连接不是另一种选择,它在数据和电池使用方面效率不高。
解决方案
我认为 Android 不支持检查所连接的网络是否真的可用。唯一的方法是自己 ping 某个站点,或者在用户请求连接后仅显示错误消息横幅。
推荐阅读
- ios - 如何在 Xamarin Forms 中的 iPAD 设备的键盘设置中启用自动大写
- javascript - canvas js饼图不工作
- ios - Swift4:来自 URL 的 UIImage
- javascript - 如何在标记中显示弹出窗口?
- laravel - laravel (5.6) 中的隐式绑定返回一个空对象
- azure - 如何在区域之间负载平衡 Azure 云服务 TCP/UDP 端点?
- c++ - c++ eigen svd sum to float
- go - 如何杀死 goroutine?
- node.js - 错误:Twilio 找不到具有指定发件人地址的频道
- facebook-graph-api - Facebook 群发审批