您的位置:首页 > 理论基础 > 计算机网络

Android判断网络是否断开(WIFI 状态)--ConnectivityManager

2014-02-10 14:08 399 查看
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();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: