语境
我只是想检测何时启用和禁用 wifi 适配器。
问题
当我启用适配器时,我会收到正确的通知。当我禁用适配器时,可能会发生两件事:
- 如果我连接到在没有互联网的情况下充当 AP 的专有硬件,我不会收到有关适配器已禁用的通知
- 如果我连接到“正常”wifi,我会收到适配器被禁用的通知
- 如果我没有连接到 wifi,我会收到适配器被禁用的通知
代码
class MyClass {
val wifiAdapterBroadcastReceiver: BroadcastReceiver = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
@Suppress("MoveVariableDeclarationIntoWhen")
val currentState =
intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN)
when (currentState) {
WifiManager.WIFI_STATE_DISABLED -> Log.d("tag", "false")
WifiManager.WIFI_STATE_ENABLED -> Log.d("tag", "true")
}
}
}
init {
context.applicationContext.registerReceiver(
wifiAdapterBroadcastReceiver,
IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION)
)
}
}
我在这里遗漏了什么还是这是一种非常奇怪的行为?
Android 11 - 自定义 ROM:dotOS 5.1