如何在Android中检查网络内的互联网连接(通过HOTSPOT使用其他设备的互联网)

and*_*per 18 android internet-connection android-internet

我有一个要求,当我连接网络时,我想检查是否有任何互联网连接.

例如,我有设备A和设备B.

设备A与设备B的热点连接.在设备A中,我将其与Wi-Fi和设备B连接 - 一个设备与热点连接.

现在,如果我从设备B(不是网络共享热点)中删除互联网,那么在设备A中,它仍会显示 - 与Wi-Fi连接,但没有互联网连接.

像ConnectivityManager这样的类有助于确定设备是否与网络连接而不是互联网连接.

我想跟踪这个问题.有没有办法实现这个目标?

Jat*_*tin -2

尝试以下功能来检查您的互联网连接:

    public static boolean isInternetConnected(Context mContext) {

        try {
            ConnectivityManager connect = null;
            connect = (ConnectivityManager) mContext
                    .getSystemService(Context.CONNECTIVITY_SERVICE);

            if (connect != null) {
                NetworkInfo resultMobile = connect
                        .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

                NetworkInfo resultWifi = connect
                        .getNetworkInfo(ConnectivityManager.TYPE_WIFI);

                if ((resultMobile != null && resultMobile
                        .isConnectedOrConnecting())
                        || (resultWifi != null && resultWifi
                                .isConnectedOrConnecting())) {
                    return true;
                } else {
                    return false;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        return false;
    }
Run Code Online (Sandbox Code Playgroud)

将以下权限添加到您的清单文件中,

  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Run Code Online (Sandbox Code Playgroud)

  • 请清楚地阅读用户询问 ConnectivityManager 解决方案的问题,但要了解互联网可用性而不是网络可用性。 (3认同)