Android如何判断网络状态是否良好

来源:互联网 发布:爱奇艺格式转换器 mac 编辑:程序博客网 时间:2023/09/28 01:57
public class Tools {    public static boolean isNetworkAvailable(Context context){        //获得网络状态管理器        ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);        if(connectivityManager == null){            // Toast.makeText(MainActivity.this,"没有网络",Toast.LENGTH_SHORT).show();            return false;        }else{            NetworkInfo[] info = connectivityManager.getAllNetworkInfo();            if(info != null){                for(NetworkInfo networkInfo : info){//增强的for循环,把info中的每一个值依次赋值给networkInfo                    //相当于NetworkInfo networkInfofor(int i=0;i<info.length();i++){                    // networkInfo[i] = info[i]}                    if(networkInfo.getState() == NetworkInfo.State.CONNECTED){                        return true;                        //Toast.makeText(MainActivity.this,"有网络", Toast.LENGTH_SHORT).show();                    }                }            }            return false;        }    }    public static void checkNetwork(final Context context) {        if(!isNetworkAvailable(context)){            Tools.isNetworkAvailable(context);            TextView msg = new TextView(context);            msg.setText("没有可以使用的网络,请设置网络");            new AlertDialog.Builder(context)                    .setIcon(R.drawable.unhappy)                    .setTitle("网络状态提示")                    .setView(msg)                    .setPositiveButton("确定",new DialogInterface.OnClickListener(){                        @Override                        public void onClick(DialogInterface dialog, int which) {                            context.startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));                        }                    }).create()                    .show();        }else {            Toast.makeText(context,"网络状况良好",Toast.LENGTH_SHORT).show();        }    }}
阅读全文
0 0