1.擷取Android裝置的電池資訊需要註冊一個Action為Intent.ACTION_BATTERY_CHANGED的BroadCastReceiver。
2.在BroadcastReceiver的onReceive()事件,接收到的Intent.ACTION_BATTERY_CHANGED,包括下面的資訊:
"present" (boolean) ...
"level" (int) …電池剩餘容量
"scale" (int) …電池最大值,通常為100。
"icon-small" (int) …表徵圖ID。
"voltage" (int) …電池的電壓(伏特)
"temperature" (int) …電池的溫度,0.1度單位。例如 表示197的時候,意思為19.7度。
"technology" (String) …電池類型,例如,Li-ion等等。
"plugged" (int) …充電方式:
BatteryManager.BATTERY_PLUGGED_AC:AC充電。
BatteryManager.BATTERY_PLUGGED_USB:USB充電。
"status" (int) …電池狀態:
BatteryManager.BATTERY_STATUS_CHARGING:充電狀態。
BatteryManager.BATTERY_STATUS_DISCHARGING:放電狀態。
BatteryManager.BATTERY_STATUS_NOT_CHARGING:未充滿。
BatteryManager.BATTERY_STATUS_FULL:充滿電。
BatteryManager.BATTERY_STATUS_UNKNOWN:未知狀態。
"health" (int) …健康狀態:
BatteryManager.BATTERY_HEALTH_GOOD:狀態良好。
BatteryManager.BATTERY_HEALTH_DEAD:電池沒有電。
BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE:電池電壓過高。
BatteryManager.BATTERY_HEALTH_OVERHEAT:電池過熱。
BatteryManager.BATTERY_HEALTH_UNKNOWN:未知狀態。
BatteryActivity batteryReceiver = = BatteryReceiver level = arg1.getIntExtra("level", 0"Battery", "當前電池的剩餘電量為:" + level + "%"