一、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(安卓)Power Management
  2. [android]利用动画实现view跑马灯效果
  3. 【Android(安卓)进阶】Android(安卓)Home 键监听
  4. android沉浸式状态栏底部背景用图片代替
  5. [置顶] Android消息异步机制(ThreadLocal、MessageQueue、Looper
  6. 浅谈android的selector背景选择器
  7. Android(安卓)判断网络状态,并且在没有网络的时候,打开网络设置对
  8. Android(安卓)设置软键盘搜索键以及监听搜索键点击事件
  9. android的selector-背景选择器

随机推荐

  1. Android Jni中使用线程及回调更新UI
  2. 【Android】说做就做:都市列表+卫星地图
  3. android平台下基于OpenSL ES实现音频录制
  4. android adb介绍
  5. Android(安卓)Retrofit + RxJava + MVP +
  6. Android设置屏幕亮度的两种方式
  7. Android内存和外存的学习
  8. android, iOS app reverse enginnering
  9. android图片缓存
  10. android:background="@drawable/"图片拉