1. 程式人生 > >Android 主動獲取電量的方法

Android 主動獲取電量的方法

IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_BATTERY_CHANGED); registerReceiver(receiver,filter); 接收到廣播後,用getIntExtra(“level”)和getIntExtra(“scale”)獲得相應值 這種方法比較被動,需要電量變化系統發出廣播才能得到電量

第二種方法: 通過BatteryManager

BatteryManager batteryManager = (BatteryManager)getSystemService(BATTERY_SERVICE); int battery = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY); 這種方法可以主動去獲取電量,不必被動的等電量變化之後才能獲取到

第三種方法:使用adb去獲取

通過adb shell dumpsys battery,返回結果後有電池的各種資訊,其中就包括level(百分比)

注意: android.intent.action.SCREEN_ON

android.intent.action.SCREEN_OFF

android.intent.action.BATTERY_CHANGED

這兩個廣播只能動態註冊