代码之家  ›  专栏  ›  技术社区  ›  K.Os

如何在Android中检测WiFi接入点是否刚刚失去互联网连接

  •  0
  • K.Os  · 技术社区  · 6 年前

    我在寻找一种应对案件的方法,当:

    • 我连接到WiFi
    • 接入点刚刚失去互联网连接(例如,从路由器上拔下的电缆)

    在这种情况下,Android手机或笔记本会收到有关该状态的通知,并在WiFi图标旁边显示感叹号。

    是否可以在Android API中得到关于该状态的通知?我在查阅文件,但没有找到任何。

    重要注意事项: 我不是在手动检查Internet连接,也不是在监听网络连接状态的变化,因为当我所连接的WiFi接入点断开连接时,我不会收到通知。

    因此,关于以上内容,我试图检查网络连接的变化,但正如我解释的,这对于我的情况来说还不够:

    override fun onReceive(context: Context, intent: Intent) {
    val wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, 
    DEFAULT_WIFI_STATE_VALUE)
    wifiStateSubject.onNext(wifiState)
    Timber.d("Current wifi state: $wifiState")
    }
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Anton Kazakov    6 年前

    您可以定期尝试访问具有较低ping和较低超时率的资源,如果它抛出某种网络异常,则可以假定该连接不可用。

    UPD:

    您可以使用或检查此库 https://github.com/pwittchen/NetworkEvents