Android Studio 模拟器连接状态

我的妈妈说我很特别

我有一种检测连接状态的方法

boolean isInternetAvailable(WebView view) {
    Boolean connected = false;

    try {
        ConnectivityManager connectivityManager = (ConnectivityManager) view.getContext()
                .getSystemService(view.getContext().CONNECTIVITY_SERVICE);

        NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
        connected = networkInfo != null && networkInfo.isAvailable() &&
                networkInfo.isConnected();

        Log.d("available", Boolean.toString(networkInfo.isAvailable()));
        Log.d("connected", Boolean.toString(networkInfo.isConnected()));
        Log.d("compare", Boolean.toString(networkInfo.getState() == NetworkInfo.State.CONNECTED));

        return connected;

    } catch (Exception e) {

    }

    return connected;
}

但是当我从计算机上断开所有互联网电缆时,我实际上无法加载任何页面,模拟器仍然认为他连接的是什么并返回

  11-21 13:43:22.103 20824-20824/lt.example.app D/available: true
  11-21 13:43:22.103 20824-20824/lt.example.app D/connected: true
  11-21 13:43:22.103 20824-20824/lt.example.app D/compare: true

控制台,WebViewClient 中使用的这种方法在使用 WebView 时检测连接,可以是什么?

chrjs

问题是,您的模拟器并不真正关心您机器上的实际连接状态。您可能需要在模拟器上启用/禁用飞行模式才能获得正确的结果。

只要您的模拟器启用了 wifi/data,它就会告诉您是的,即使您无法访问互联网,我也已连接。

如果要检查工作连接,请参阅:Android 检查互联网连接( isInternetAvailable())

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章