@Override public void onCreate() { super.onCreate(); System.out.println(TAG+"1111111111111111onCreate"); motionDataService = new MotionDataService(getApplication()); 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); }
@Override public void onDestroy() { super.onDestroy(); unregisterReceiver(new WifiReceiver()); }
package com.zznode.walktest.broadcastreceiver; 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; import android.util.Log; /** * Author by ckl, Email xx@xx.com, Date on 2020/7/10. * PS: Not easy to write code, please indicate. */ 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()); } } //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"); } } } }