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.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.CAMERA" />

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

Loading…
Cancel
Save