Android判断网络是否断开
public boolean isNetworkAvailable(Context act) {
ConnectivityManager cm = (ConnectivityManager)act.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo networkInfo = cm.getActiveNetworkInfo();
if(networkInfo != null && networkInfo.isConnected())
{
return true;
}
return false;
}
//广播监控:
private void setBroadcast()
{
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(mReceiver, intentFilter);
}
private BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String action = intent.getAction();
if(action.equals(ConnectivityManager.CONNECTIVITY_ACTION))
{
ConnectivityManager localConnectivityManager = (ConnectivityManager) mContext
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo localNetworkInfo = (localConnectivityManager == null ? null : localConnectivityManager
.getActiveNetworkInfo());
if (localNetworkInfo != null) {
if (localNetworkInfo.isConnected()) {
Log.d(TAG, " MSG_NETWORK..................CONNECT......");
Message msg = new Message();
msg.what = FactoryActivity.MSG_NETWORK_CONNECT;
mFactoryActivity.getMainHandler().sendMessage(msg);
} else {
Log.d(TAG, " MSG_NETWORK................DISCONNECT......");
Message msg = new Message();
msg.what = FactoryActivity.MSG_NETWORK_DISCONNECT;
mFactoryActivity.getMainHandler().sendMessage(msg);
}
} else {
Log.e(TAG, " localNetworkInfo is null, MSG_NETWORK................DISCONNECT......");
Message msg = new Message();
msg.what = FactoryActivity.MSG_NETWORK_DISCONNECT;
mFactoryActivity.getMainHandler().sendMessage(msg);
}
}
}
//WIFI 状态
private void handlerWifiNetworkStatus() {
// TODO Auto-generated method stub
// NetworkInfo info = (NetworkInfo) intent
// .getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
// if (info != null) {
// if (info.isConnected()) {
// Log.d(TAG, " wifi MSG_WIFI...............CONNECT......");
// Message msg = new Message();
// msg.what = FactoryActivity.MSG_WIFI_CONNECT;
// mFactoryActivity.getMainHandler().sendMessage(msg);
// } else {// if (!wifiNetworkInfo.isConnected()){
// Log.d(TAG, " wifi MSG_WIFI................DISCONNECT......");
// Message msg = new Message();
// msg.what = FactoryActivity.MSG_WIFI_DISCONNECT;
// mFactoryActivity.getMainHandler().sendMessage(msg);
// }
// }
WifiManager wifiMng = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = (wifiMng == null ? null : wifiMng.getConnectionInfo());
/* wifi mac ip */
if (wifiInfo != null) {
String wifiMac = wifiInfo.getMacAddress();
Log.d(TAG, " wifiMac->" + wifiMac);
int wifiIP = wifiInfo.getIpAddress();
String ip = int2IP(wifiIP);
Log.d(TAG, " wifiIP->" + ip);
}
/* wifi是否打开 和连接上 */
WifiInfo WifiConnectInfo = wifiMng.getConnectionInfo();
if (wifiMng.isWifiEnabled() && WifiConnectInfo.getIpAddress() != 0) {
Log.d(TAG, " wifi MSG_WIFI...............CONNECT......");
Message msg = new Message();
msg.what = FactoryActivity.MSG_WIFI_CONNECT;
mFactoryActivity.getMainHandler().sendMessage(msg);
} else {
Log.d(TAG, " wifi MSG_WIFI................DISCONNECT......");
Message msg = new Message();
msg.what = FactoryActivity.MSG_WIFI_DISCONNECT;
mFactoryActivity.getMainHandler().sendMessage(msg);
}
autoConnectToWifi();
}