Android - 检查用户连接的连接是不是有互联网连接[重复]

Posted

技术标签:

【中文标题】Android - 检查用户连接的连接是不是有互联网连接[重复]【英文标题】:Android - Check if connection that user is connected has internet connection [duplicate]Android - 检查用户连接的连接是否有互联网连接[重复] 【发布时间】:2019-10-27 12:53:53 【问题描述】:

我正在使用getActiveNetworkInfo 获取用户已连接的网络,并使用isConnected 来验证它是否已连接。我正在使用以下代码执行此操作:

val connectivityManager = getSystemService(CONNECTIVITY_SERVICE) as ConnectivityManager?
val activeNetworkInfo = connectivityManager?.activeNetworkInfo
return activeNetworkInfo?.isConnected == true

问题是,如果用户连接到没有互联网连接的 wifi,isConnected 会返回 true。

如何验证此网络连接是否有互联网连接?

我知道我可以向某些服务执行请求以验证用户是否已连接,但我的目的是在应用内为用户显示横幅,以通知他没有互联网连接。因此,例如,当他请求某些内容时,我可以通知用户它不会工作并且不显示加载,然后显示错误消息。

继续汇集一项服务来验证互联网连接不是另一种选择,这在数据和电池使用方面都不会有效。

【问题讨论】:

@ישו אוהב אותך 这不是重复的。你读过我的问题吗?我放置了您标记为重复的答案的代码,并解释了为什么这不足以满足我的要求。 【参考方案1】:

我认为 android 不支持检查所连接的网络是否真的可用。唯一的方法是自己 ping 某个站点,或者在用户请求连接后仅显示错误消息横幅。

【讨论】:

当您连接到没有连接的 wifi 时,Android 会在 wifi 级别显示一条消息,因此在内部此信息可用。所以这可能只是关于创建一个 api 以使这些信息可供开发人员使用。

以上是关于Android - 检查用户连接的连接是不是有互联网连接[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在android中检查当前的互联网连接是不是可用

Android Firebase实时数据库互联网连接[重复]

检查 swift 中是不是有可用的互联网连接 [重复]

在整个应用程序中检查 android studio 中的互联网连接。 (我们是不是需要在每个 java 活动中编写连接管理器函数?) [重复]

Android - 以编程方式检查互联网连接并在未连接时显示对话框

用户按下后退按钮后检查互联网连接。(Android的警报框)