android 监听wifi的连接状态,Android判断wifi状态 监听wifi连接
一、添加權限
二、注冊監聽廣播
注冊監聽有兩種方式
1.AndroidMainfest.xml 中注冊
2.在代碼中注冊
IntentFilter filter = new IntentFilter();
filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(new WifiReceiver(), filter);
三、實現監聽廣播類
public class WifiReceiver extends BroadcastReceiver {
private static final String TAG = "wifiReceiver";
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(WifiManager.RSSI_CHANGED_ACTION)) {
Log.i(TAG, "wifi信號強度變化");
}
//wifi連接上與否
if (intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
if (info.getState().equals(NetworkInfo.State.DISCONNECTED)) {
Log.i(TAG, "wifi斷開");
} else if (info.getState().equals(NetworkInfo.State.CONNECTED)) {
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
//獲取當前wifi名稱
Log.i(TAG, "連接到網絡 " + wifiInfo.getSSID());
TtsManager ttsManager = new TtsManager();
ttsManager.checkTtsJet(context.getApplicationContext());
}
}
//wifi打開與否
if (intent.getAction().equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) {
int wifistate = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_DISABLED);
if (wifistate == WifiManager.WIFI_STATE_DISABLED) {
Log.i(TAG, "系統關閉wifi");
} else if (wifistate == WifiManager.WIFI_STATE_ENABLED) {
Log.i(TAG, "系統開啟wifi");
}
}
}
}
寫文章不易,路過的伙伴辛苦點個贊,謝謝支持!
總結
以上是生活随笔為你收集整理的android 监听wifi的连接状态,Android判断wifi状态 监听wifi连接的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 64位W7系统安装内存8G,但是系统只显
- 下一篇: Android动态化方案