一、healthd

linux用户空间上,Android首先通过healthd守护进程去监控/sys/class/power_supply文件系统中的各个状态,并通过Binder通知到Android framework层;

二、BatteryService.java

代码路径:

frameworks/base/services/java/com/android/server/BatteryService.java

BatteryService 作为电池及充电相关的服务,主要作了如下几件事情: 监听 UEvent、读取sysfs 中的状态 、广播Intent.ACTION_BATTERY_CHANGED。

三、应用获取方法

mPluggedIn = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0) != 0;

参看:frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java onReceive

更多相关文章

  1. Android 判断网络状态,并且在没有网络的时候,打开网络设置对话框
  2. Android文件系统的提取方法(一)
  3. android的文件系统结构及其引导过程的初步理解
  4. Android Activity生命周期和状态
  5. Android 判断网络状态,并且在没有网络的时候,提示网络未开启
  6. Android中程序的停止状态详细介绍
  7. android(java)对网络状态(socket)判断的方法
  8. Android存储设备(U盘,SD卡)状态监测(《Android 2.3 SD卡挂载流程

随机推荐

  1. 【转官方】Android ADB调试命令、支持的
  2. 《转》给Android应用开发者的十个建议
  3. [置顶] Android学习系列-把文件保存到SD
  4. webview中的javascript调用android命令实
  5. Android—关于通知NotificationManager操
  6. Android(安卓)单例模式
  7. Android组件及UI框架大全
  8. 关于Scroller ,scrollTo,scrollBy
  9. WindowManagerService第一讲之WMS基础知
  10. Android 平板电脑设计