电池的信息,电压,温度,充电状态等等,都是由BatteryService来提供的。电池的这些信息是BatteryService通过广播 主动把数据传送给所关心的应用程序。

应用如果想要接收到BatteryService发送出来的电池信息,则需要注册一个Intent为Intent.ACTION_BATTERY_CHANGED的BroadcastReceiver。

代码如下:

IntentFilter mIntentFilter = new IntentFilter();mIntentFilter.addAction(Intent.ACTION_BATTERY_CHANGED);registerReceiver(mIntentReceiver, mIntentFilter);


private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubString action = intent.getAction();if (action.equals(Intent.ACTION_BATTERY_CHANGED)) {// 电池状态,返回是一个数字// BatteryManager.BATTERY_STATUS_CHARGING 表示是充电状态// BatteryManager.BATTERY_STATUS_DISCHARGING 放电中// BatteryManager.BATTERY_STATUS_NOT_CHARGING 未充电// BatteryManager.BATTERY_STATUS_FULL 电池满int status = intent.getIntExtra("status", 0); // 电池状态// 电池健康情况,返回也是一个数字// BatteryManager.BATTERY_HEALTH_GOOD 良好// BatteryManager.BATTERY_HEALTH_OVERHEAT 过热// BatteryManager.BATTERY_HEALTH_DEAD 没电// BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE 过电压// BatteryManager.BATTERY_HEALTH_UNSPECIFIED_FAILURE 未知错误int health = intent.getIntExtra("health", 0); //电池健康情况int scale = intent.getIntExtra("scale", 0); // 电池最大容量int nVoltage = intent.getIntExtra("voltage", 0); // 电池的电压int level = intent.getIntExtra("level", 0); // 电池的电量,数字int temperature = intent.getIntExtra("temperature", 0); // 电池的温度if (nVoltage != 0) {tv_status.setText("电池电量:" + level + "%");Log.i(TAG, "voltage = " + nVoltage + " level = " + level+ " temperature = " + temperature + "...success");} else {Log.i(TAG, "voltage = " + nVoltage + "...failed");}}}};

小结一下


更多相关文章

  1. Android(安卓)状态栏透明的一些小结
  2. 基于Android的Linux内核的电源管理
  3. Android(安卓)Selector
  4. Android(安卓)之 Notification
  5. Android(安卓)沉浸式状态栏完美解决方案
  6. Android(安卓)Activity生命周期管理
  7. 详解 Android(安卓)的 Activity 组件
  8. Wifi启动流程分析
  9. Android中Adapter中edittext,checkbox记住状态解决方案

随机推荐

  1. Android软键盘调用
  2. 更改android spinner 背景
  3. a64_7.1-v3.1android拉伸绘制矩形区域距
  4. Adnroid——自定义控件(入门篇之自定义验
  5. Android 中Observer模式的使用
  6. Android SearchView介绍及搜索提示实现
  7. Service Manager进程启动,睡眠等待在进程p
  8. Android中话bitmap的简单示例
  9. Android Audio Effect 机制初探
  10. android xliff字符串操作