Android断线监听

 // 断线监听
private IntentFilter filter_Reconnect = new IntentFilter();
private NetReceiver mNetReceiver = null;


public void StartReconnReceiver() {
mNetReceiver = new NetReceiver(mOnNETListener);
filter_Reconnect
.addAction(android.net.ConnectivityManager.CONNECTIVITY_ACTION);
this.registerReceiver(mNetReceiver, filter_Reconnect);
}


public void StopReconnReceiver() {
this.unregisterReceiver(mNetReceiver);

}

注释:

NetReceiver 是自己写的一个处理断线事件的一个receiver

android.net.ConnectivityManager.CONNECTIVITY_ACTION是网络变化时系统发出的广播

注意:

当从WIFI转到3G网络时,会收到3个广播,内容依次为

I/NETReceiver(30429): NetworkInfo: type: WIFI[], state: CONNECTED/CONNECTED, reason: (unspecified), extra: (none), roaming: false, failover: false, isAvailable: true {isConnected = true}

 I/NETReceiver(30429): NetworkInfo: type: mobile[UMTS], state: DISCONNECTED/DISCONNECTED, reason: dataDisabled, extra: 3gnet, roaming: false, failover: false, isAvailable: true {isConnected = false}

 I/NETReceiver(30429): NetworkInfo: type: WIFI[], state: CONNECTED/CONNECTED, reason: (unspecified), extra: (none), roaming: false, failover: false, isAvailable: true {isConnected = true}

从3G转到WIFI时,会收到2个广播,内容依次为

 I/NETReceiver(30429): NetworkInfo: type: WIFI[], state: DISCONNECTED/DISCONNECTED, reason: (unspecified), extra: (none), roaming: false, failover: false, isAvailable: false {isConnected = false}

I/NETReceiver(30429): NetworkInfo: type: mobile[HSPA], state: CONNECTED/CONNECTED, reason: dataEnabled, extra: 3gnet, roaming: false, failover: false, isAvailable: true {isConnected = true}

所以,在设置相应的处理时,需要考虑的这点,以免因多次处理造成错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值