final TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
mTelephonyMgr.listen(new PhoneStateListener(){
@Override
public void onDataConnectionStateChanged(int state) {
switch(state){
case TelephonyManager.DATA_DISCONNECTED://网络断开
Toast.makeText(NetConnectActivity.this, "DISCONNECTED", Toast.LENGTH_SHORT).show();
break;
case TelephonyManager.DATA_CONNECTING://网络正在连接
Toast.makeText(NetConnectActivity.this, "CONNECTING", Toast.LENGTH_SHORT).show();
break;
case TelephonyManager.DATA_CONNECTED://网络连接上
Toast.makeText(NetConnectActivity.this, "CONNECTED", Toast.LENGTH_SHORT).show();
break;
}
}
}, PhoneStateListener.LISTEN_DATA_CONNECTION_STATE);
判断网络连接的新方法
class ConnectionChangeReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
ConnectivityManager manager = (ConnectivityManager) arg0.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo moInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
NetworkInfo wifiInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if(!moInfo.isConnected()&&!wifiInfo.isConnected()){
Toast.makeText(arg0, "duankai", 0).show();
serviceManager.stopService();
}else{
Toast.makeText(arg0, "连接", 0).show();
serviceManager.startService();
}
}
}