最近做公司的项目,是一个商城类项目,需要登录的时候,判断网络连接状态,然后提示用户,让其连接网络。可以在全局Application中定义,这样就可以在程序中随时检测手机联网状态
具体代码如下:State.CONNECTING:为已连接;
manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState():为手机网络状态。其中CONNECTION_EXCEPTION为连接异常。DISCONNECTED:已断开连接;DISABLED:已禁用;这些属性可以都添加在代码里,增加代码的严密性。
private void CheckNetworkState() {
boolean flag = false;
ConnectivityManager manager = (ConnectivityManager)getSystemService(
Context.CONNECTIVITY_SERVICE);
State mobile = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
if(mobile == State.CONNECTED||mobile==State.CONNECTING)
return;
if(wifi == State.CONNECTED||wifi==State.CONNECTING)
return;
Toast.makeText(getApplicationContext(), "请检查网络!", 0).show();
}
另外需要在Mainfest中添加权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>