欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

判断当前状态是否有网

程序员文章站 2022-05-19 18:56:11
...

创建一个 isNetworkAvailable 方法

    public boolean isNetworkAvailable(AppCompatActivity appCompatActivity) {

        Context context = appCompatActivity.getApplicationContext();
        ConnectivityManager connectivityManager = (ConnectivityManager)
                context.getSystemService(Context.CONNECTIVITY_SERVICE);

        if (connectivityManager == null) {
            return false;
        } else {
            NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();
            if (networkInfo != null && networkInfo.length > 0) {
                for (int i = 0; i < networkInfo.length; i++) {
                    if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED) {
                        return true;
                    }
                }
            }
        }
        return false;
    }

在需要判断网络的地方写下列代码

        //isNetworkAvailable 参数为当前Activity.this
        if (isNetworkAvailable(MainActivity.this)) {
            Toast.makeText(getApplicationContext(), "当前有可用网络!", Toast.LENGTH_LONG).show();
        }
        else {
            Toast.makeText(getApplicationContext(), "当前没有可用网络!", Toast.LENGTH_LONG).show();
        }

AndroidManifest.xml 中添加访问当前网络状态权限

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>