电源信息监控

定义接受电源信息的BroadCastReceiver

private val batteryBroadcastReceiver = object :BroadcastReceiver(){
        override fun onReceive(p0: Context?, p1: Intent?) {
            when(p1?.getIntExtra(BatteryManager.EXTRA_STATUS,BatteryManager.BATTERY_HEALTH_UNKNOWN)){
                BatteryManager.BATTERY_STATUS_CHARGING -> {
                    //充电中
                }

                BatteryManager.BATTERY_STATUS_FULL -> {
                    //已充满
                }

                else -> {
                    val level = p1?.getIntExtra(BatteryManager.EXTRA_LEVEL,0)//当前电量
                    val scale = p1?.getIntExtra(BatteryManager.EXTRA_SCALE,0)//总电量
                    val percentage = (level?.toFloat()!! * 100 / scale?.toFloat()!!).toInt()
                    
                }
            }
        }
    }

注册和销毁

context.registerReceiver(batteryBroadcastReceiver, IntentFilter(Intent.ACTION_BATTERY_CHANGED))


context.unregisterReceiver(batteryBroadcastReceiver)

 

posted @ 2019-07-23 14:19  荣超  阅读(172)  评论(0编辑  收藏  举报