Android BroadcastReceiver 广播接收者监听WiFi状态

  • 创建一个广播监听WiFi状态
class WifiStateReceiver : BroadcastReceiver() {
    
    

    override fun onReceive(context: Context, intent: Intent) {
    
    
        val action = intent.action
        if (WifiManager.WIFI_STATE_CHANGED_ACTION == action) {
    
    
            // wifi status
            val wifiState =
                intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_DISABLED)
            if (wifiState == WifiManager.WIFI_STATE_ENABLED) {
    
    
                // sutatus on
                Toast.makeText(context, "wifi on", Toast.LENGTH_SHORT).show()
            } else if (wifiState == WifiManager.WIFI_STATE_DISABLED) {
    
    
                // sutatus off
                Toast.makeText(context, "wifi off", Toast.LENGTH_SHORT).show()
            }
        }
    }
}
  • 动态注册
    private val broadcast = WifiStateReceiver()

    override fun onCreate(savedInstanceState: Bundle?) {
    
    
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_wifi)
        registerReceiver(broadcast, IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION))
    }

    override fun onDestroy() {
    
    
        super.onDestroy()
        unregisterReceiver(broadcast)
    }

猜你喜欢

转载自blog.csdn.net/yu540135101/article/details/114403601