獲取Android設備電池信息


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:未知狀態。

 

public class BatteryActivity extends Activity{
        
    private BatteryReceiver batteryReceiver;

        @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.battary);
batteryReceiver
= new BatteryReceiver(); IntentFilter batteryFilter = new IntentFilter(); batteryFilter.addAction(Intent.ACTION_BATTERY_CHANGED); registerReceiver(batteryReceiver, batteryFilter); } private class BatteryReceiver extends BroadcastReceiver{ @Override public void onReceive(Context arg0, Intent arg1) { int level = arg1.getIntExtra("level", 0); Log.i("Battery", "當前電池的剩余電量為:" + level + "%"); } } @Override protected void onDestroy() { unregisterReceiver(batteryReceiver); super.onDestroy(); } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM