private boolean networkState() {
ConnectivityManager
mConnectivity = (ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);
TelephonyManager mTelephony =
(TelephonyManager) this
.getSystemService(TELEPHONY_SERVICE);
//
检查网络连接,如果无网络可用,就不需要进行连网操作等
NetworkInfo info =
mConnectivity.getActiveNetworkInfo();
if (info == null ||
!mConnectivity.getBackgroundDataSetting()) {
return
false;
}
//
判断网络连接类型,只有在3G或wifi里进行一些数据更新。
int netType =
info.getType();
int netSubtype =
info.getSubtype();
if (netType ==
ConnectivityManager.TYPE_WIFI) {
return
info.isConnected();
} else if (netType ==
ConnectivityManager.TYPE_MOBILE
&&
netSubtype == TelephonyManager.NETWORK_TYPE_UMTS
&&
!mTelephony.isNetworkRoaming()) {
return
info.isConnected();
} else {
return
false;
}
}