desc:监听wifi开关及信号强度变化

main
xiaowusky 2 years ago
parent 7f7b447733
commit a4dadd3d6f

@ -8,6 +8,7 @@
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />

@ -14,17 +14,20 @@ object WifiHelper {
private val receiver = object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val wifiState = intent?.getIntExtra(WifiManager.EXTRA_WIFI_STATE, -1)
val rssi = intent?.getIntExtra(WifiManager.EXTRA_NEW_RSSI, -1)
mWifiState = wifiState!!
mRssi = WifiManager.calculateSignalLevel(rssi!!, 5)
if (intent?.action.equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) {
val wifiState = intent?.getIntExtra(WifiManager.EXTRA_WIFI_STATE, -1)
mWifiState = wifiState!!
} else if (intent?.action.equals(WifiManager.RSSI_CHANGED_ACTION)) {
val rssi = intent?.getIntExtra(WifiManager.EXTRA_NEW_RSSI, -1)
mRssi = WifiManager.calculateSignalLevel(rssi!!, 5)
}
Log.i(
this@WifiHelper.javaClass.name,
"onReceive wifiState = $wifiState, mRssi = $mRssi"
"onReceive action = ${intent?.action}, wifiState = $mWifiState, mRssi = $mRssi"
)
callbacks.forEach {
it.onLevel(
wifiState == WifiManager.WIFI_STATE_ENABLED, mRssi
mWifiState == WifiManager.WIFI_STATE_ENABLED, mRssi
)
}
}

Loading…
Cancel
Save