免责声明

易百易数码科技

android 检查网络是否_Android

文章目录


可以使用ConnectivityManager类来检查网络连接状态,如果返回值为CONNECTED_WIFI或CONNECTED_MOBILE则表示网络已连接。

在Android中,检查网络是否可用可以通过以下几种方法实现:

1、使用ConnectivityManager类

android 检查网络是否_Android-图1

2、使用NetworkInfo类

3、使用InetAddress类

4、使用Ping命令

下面分别介绍这四种方法的实现步骤和示例代码。

使用ConnectivityManager类

步骤:

1、获取ConnectivityManager实例

2、获取NetworkInfo对象

android 检查网络是否_Android-图2

3、判断网络是否可用

示例代码:

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
public class NetworkUtil {
    public static boolean isNetworkAvailable(Context context) {
        ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
        return networkInfo != null && networkInfo.isConnected();
    }
}

使用NetworkInfo类

步骤:

1、获取ConnectivityManager实例

2、获取NetworkInfo对象

3、判断网络是否可用

示例代码:

android 检查网络是否_Android-图3
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
public class NetworkUtil {
    public static boolean isNetworkAvailable(Context context) {
        ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
        return networkInfo != null && networkInfo.isConnected();
    }
}

使用InetAddress类

步骤:

1、尝试解析一个网址的IP地址

2、判断解析结果是否为空,如果为空则表示网络不可用,否则表示网络可用

示例代码:

import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import android.content.Context;
import android.util.Log;
public class NetworkUtil {
    public static boolean isNetworkAvailable(Context context) {
        try {
            InetAddress address = InetAddress.getByName("www.baidu.com"); // 尝试解析百度首页的IP地址
            return !address.equals(""); // 如果解析结果不为空,则表示网络可用,否则表示网络不可用
        } catch (UnknownHostException e) {
            e.printStackTrace();
            return false; // 如果发生异常,则表示网络不可用
        } catch (IOException e) {
            e.printStackTrace();
            return false; // 如果发生异常,则表示网络不可用
        }
    }
}

使用Ping命令(仅适用于API 23及以上版本)

步骤:

1、创建一个PingTask任务类,继承自AsyncTask类,并重写doInBackground方法,用于执行Ping命令并返回结果,注意,需要在AndroidManifest.xml文件中添加INTERNET权限。

2、在需要检查网络的地方,创建PingTask实例并调用execute方法执行任务,根据doInBackground方法的返回值判断网络是否可用。

分享:
扫描分享到社交APP
上一篇
下一篇