battery信息的获取

标签: androidserverjni
2593人阅读 评论(0) 收藏 举报
分类:

这里一位仁兄写的文章,讲得比较透。

http://blog.sina.com.cn/s/blog_66a6a5ec0100n6ej.html

 

我这里就关注怎么去获取几个核心信息:电量、电压、温度等。

先看一下/frameworks/base/services/jni/com_android_server_BatteryService.cpp的register_android_server_BatteryService方法。可以看到,每个信息都是从相应的文件中读取到的。

/frameworks/base/services/java/com/android/server/BatteryService.java中注册一个UEventObserver,每次电池信息有更新时,会调用update(),update()方法分两步,先调用native_update()方法通过JNI读取上面几个文件中的信息,然后通过Broadcast广播出去。

 

再看一下应用程序层面如何获取这些信息的。

/packages/apps/Settings/src/com/android/settings/BatteryInfo.java文件中,在onResume()方法中通过registerReceiver(mIntentReceiver, mIntentFilter);注册一个Receiver,最终在onReceive()方法中获取信息。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1573328次
    • 积分:14796
    • 等级:
    • 排名:第775名
    • 原创:167篇
    • 转载:0篇
    • 译文:37篇
    • 评论:450条
    我的微信公众号
    农场老马,与CSDN博客同步更新

    我的github项目