农场老马的专栏

老码农一枚!

battery信息的获取

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

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()方法中获取信息。

阅读更多
版权声明:本文为农场老马原创文章,未经农场老马允许不得转载。 https://blog.csdn.net/a345017062/article/details/6163117
文章标签: android server jni
个人分类: Android Framework
上一篇Android.mk文件分析
下一篇Binder框架在Framework层的C++中的使用
想对作者说点什么? 我来说一句

读取battery信息的小工具

2011年06月19日 14KB 下载

Battery

Battery introduction

jerry7582597 jerry7582597

2016-01-22 16:27:51

阅读数:903

没有更多推荐了,返回首页

关闭
关闭