1.联网判断工具类:ConnectivityTools
public class ConnectivityTools {
private static ConnectivityManager manager;
private static final String TAG = "ConnectityTools";
public static boolean isConnectity(Context context) {
boolean flag = false;
manager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo wifiInfo = manager
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
// 再判断是否有2G和3G信号
NetworkInfo mobileInfo = manager
.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (wifiInfo.isConnected() || mobileInfo.isConnected()) {
Log.i(TAG, "有网络信号,并且可以传输数据!!");
flag = true;
} else {
Log.i(TAG, "没有信号!!");
flag = false;
}
return flag;
}
}
2.代码应用实例:
public class MainActivity extends AppCompatActivity {
private Button button;
private TextView textView;
private ConnectivityManager manager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
button = (Button) this.findViewById(R.id.button1);
textView = (TextView) this.findViewById(R.id.msg);
// 点击按钮判断网络的状况
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// 只有两种情况:1、可用 2、不可用
// 判断手机的网络状况:wifi、mobile(2G和3G信号)
// 先判断是否有wifi
if (ConnectivityTools.isConnectity(MainActivity.this)) {
Toast.makeText(MainActivity.this, "网络正常!!", 1).show();
} else {
Toast.makeText(MainActivity.this, "网络异常!!", 1).show();
}
}
});
}
}
------------好记性不如写博客-------------------