获取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(); }}
更多相关文章
- android4.3应用程序隐藏状态栏和标题栏
- android页面全屏及状态栏和导航栏的(沉浸式)
- android SIM卡状态
- android时序图 以及UML中时序图、流程图、状态图、协作图之间的
- android检查网络连接状态的变化,无网络时跳转到设置界面
- Android 设备电池容量和使用量的获取
- Android 使用level-list改变对应的状态图片
- 获取Android屏幕尺寸、控件尺寸、状态栏/通知栏高度、导航栏高度
- Android(Java):Android的状态栏通知(Notification)