android广播监控wifi连接状态

来源:互联网 发布:数据标准化方法 编辑:程序博客网 时间:2024/04/30 05:35
package com.example.floatdialogtest;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.net.NetworkInfo;import android.net.wifi.WifiInfo;import android.net.wifi.WifiManager;public class WifiReceiver extends BroadcastReceiver{@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubif(intent.getAction().equals(WifiManager.RSSI_CHANGED_ACTION)){//signal strength changed}else if(intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)){//wifi连接上与否System.out.println("网络状态改变");NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);if(info.getState().equals(NetworkInfo.State.DISCONNECTED)){System.out.println("wifi网络连接断开");}else if(info.getState().equals(NetworkInfo.State.CONNECTED)){WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);WifiInfo wifiInfo = wifiManager.getConnectionInfo();//获取当前wifi名称System.out.println("连接到网络 " + wifiInfo.getSSID());}}else if(intent.getAction().equals(WifiManager.WIFI_STATE_CHANGED_ACTION)){//wifi打开与否int wifistate = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_DISABLED);if(wifistate == WifiManager.WIFI_STATE_DISABLED){System.out.println("系统关闭wifi");}else if(wifistate == WifiManager.WIFI_STATE_ENABLED){System.out.println("系统开启wifi");}}}}

权限 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


receiver intetfilter

<intent-filter >
                <action android:name="android.net.wifi.RSSI_CHANGED"/>
                <action android:name="android.net.wifi.STATE_CHANGE"/>
                <action android:name="android.net.wifi.WIFI_STATE_CHANGED"/>
</intent-filter>

1 0
原创粉丝点击