您的位置:首页 > 理论基础 > 计算机网络

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

2017-05-30 18:10 399 查看
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 networkInfo;for(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();
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: