安卓-网络广播详解

mFilter = new IntentFilter();

/*wifi功能所对应状态的变化监听,状态可通过 intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE,//WifiManager.WIFI_STATE_UNKNOWN)获取;WIFI_STATE_DISABLED(wifi已经被关闭),WIFI_STATE_DISABLING(wifi正在关闭);WIFI_STATE_ENABLED(wifi已经被打开);WIFI_STATE_ENABLING(wifi正在被打开);和WIFI_STATE_UNKNOWN(wifi状态未知)。
*/
mFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);

/*该广播表示无线网络扫描完毕,可以从WPAS中获取扫描结果。一般做法收到该广播更新wifi列表;例:
if (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(action)|| WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION.equals(action)|| WifiManager.LINK_CONFIGURATION_CHANGED_ACTION.equals(action)) {
            updateAccessPoints();
 }
 */
mFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);


mFilter.addAction(WifiManager.NETWORK_IDS_CHANGED_ACTION)    

/*该广播用于表示WPAS的状态发生了变化*/
mFilter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION)

//      mFilter.addAction(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION);  mFilter.addAction(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION);

/*表示wifi的连接状态发生了变化。其携带的信息是一个NetworkInfo对象;可以通过NetworkInfo info = (NetworkInfo)intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);获取
*/
mFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);

//监听wifi信号强度的变化
mFilter.addAction(WifiManager.RSSI_CHANGED_ACTION);  

//获取wifi信号的强度,分为N个等级**0,1,2,3....N-1**
WifiInfo mWifiInfo = mWifiManager.getConnectionInfo();
int wifi_rssi = mWifiInfo.getRssi();
wifi_level = WifiManager.calculateSignalLevel(wifi_rssi, **N**);

// 监听网络状态的变化,如从wifi->有线。    mFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);

//监听网线的插拔
mFilter.addAction(ConnectivityManager.ACTION_TETHER_STATE_CHANGED);



 // android.net.ethernet.ETHERNET_STATE_CHANGED
 EthernetDataTracker.ETHERNET_STATE_CHANGED_ACTION);
该广播在插拔网线的时候会各收到一次


// android.net.conn.CONNECTIVITY_CHANGE
      ConnectivityManager.CONNECTIVITY_ACTION 
有线-》wifi,会收到两次,一次是拔出网线有线->不可用;另一次是不可用->wifi;
有线-》不可用则会收到一次
不可用-》有线,该广播会收到1次。
wifi-》有线会收到3次,具体原因目前还不清楚;


// android.net.conn.TETHER_STATE_CHANGED
 ConnectivityManager.ACTION_TETHER_STATE_CHANGED);
由wifi->有线的时候。会收到一次
由有线-》wifi的时候会收到3次。原因未解
无网络连接-》有线 ,收不到该广播
有线-》无网络:收到2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值