这android开发中经常会使用到网络,对于网络是否链接就必须检测。
public class MainActivity extends Activity {
private Button btn_newtwork;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_newtwork=(Button) findViewById(R.id.network);
btn_newtwork.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (!isNetworkAvailable()) {
Toast.makeText(MainActivity.this, "但前网络不可用,请打开网络", 0).show();
}
}
});
}
/**
* 检查当前网络是否可用
*
* @param context
* @return
*/
public boolean isNetworkAvailable()
{
// 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
if (connectivityManager == null)
{
return false;
}
else
{
// 获取NetworkInfo对象
NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();
if (networkInfo != null && networkInfo.length > 0)
{
for (int i = 0; i < networkInfo.length; i++)
{
System.out.println(i + "===状态===" + networkInfo[i].getState());
System.out.println(i + "===类型===" + networkInfo[i].getTypeName());
// 判断当前网络状态是否为连接状态
if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED)
{
System.out.println("--------------------");
System.out.println(i + "===类型===" + networkInfo[i].getTypeName());
return true;
}
}
}
}
return false;
}
}
必须加权限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>