Android 获取电池容量 mAh
1. Java 反射获取电池容量
目前手机出厂下配置电池容量主要是通过修改 power_profile.xml 的电池容量参数,一般Google 默认配置为 1000 mAh
故只要是出货的手机一般都需要修改该值。我们可以直接导出 frameworks\base\core\res\res\xml\power_profile.xml 进行查看与修改
或者使用 Java 反射 PowerProfile.java 求出电池容量大小,方法如下。
package com.fadi.batteryanalysistool.battery;import android.content.Context;/*** Created by fadi.su on 2018/5/22.*/
public class BatteryInfo {/*** 获取电池容量 mAh** 源头文件:frameworks/base/core/res\res/xml/power_profile.xml** Java 反射文件:frameworks\base\core\java\com\android\internal\os\PowerProfile.java*/public static String getBatteryCapacity(Context context) {Object mPowerProfile;double batteryCapacity = 0;final String POWER_PROFILE_CLASS = "com.android.internal.os.PowerProfile";try {mPowerProfile = Class.forName(POWER_PROFILE_CLASS).getConstructor(Context.class).newInstance(context);batteryCapacity = (double) Class.forName(POWER_PROFILE_CLASS).getMethod("getBatteryCapacity").invoke(mPowerProfile);} catch (Exception e) {e.printStackTrace();}return String.valueOf(batteryCapacity + " mAh");}
}
运行结果
01-12 03:06:36.461 9877-9877/com.fadi.batteryanalysistool D/suhuazhi: batteryCap = 3000.0 mAh
2. Java 反射方法 getBatteryCapacity
文件路径在于:frameworks\base\core\java\com\android\internal\os\PowerProfile.java
/*** Reports power consumption values for various device activities. Reads values from an XML file.* Customize the XML file for different devices.* [hidden]*/
public class PowerProfile {/*** Battery capacity in milliAmpHour (mAh).*/public static final String POWER_BATTERY_CAPACITY = "battery.capacity";/*** Returns the battery capacity, if available, in milli Amp Hours. If not available,* it returns zero.* @return the battery capacity in mAh*/public double getBatteryCapacity() {return getAveragePower(POWER_BATTERY_CAPACITY);}}
3. 源文件定义
文件路径:frameworks\base\core\res\res\xml\power_profile.xml
默认情况下是 1000 mAh,一般手机厂商会进行修改,便于第三方应用读取
<!-- This is the battery capacity in mAh (measured at nominal voltage) --><item name="battery.capacity">1000</item>
Android 获取电池容量 mAh相关推荐
- android获取电池信息;android获取电池容量、技术、电压、电量、温度等信息
android获取电池信息:android获取电池容量.技术.电压.电量.温度等信息 1.这里我仅展示工具类,需要注意的是这里的部分值要刷新后才能显示,添加刷新UI的方法即可,而且电量温度等都是变化的 ...
- Android 设备电池容量和使用量的获取
1.获取 Android 设备的电池容量 电池容量的获取主要通过反射 com.android.internal.os.PowerProfile 类,调用其中的 getBatteryCapacity 方 ...
- android 获取电池最大容量,地表最大容量:Energizer推出16000mAh电池安卓机,续航长达一个周...
IT之家3月2日消息,在MWC上电池生产商Energizer发布一款Android手机"Energizer Power Max P16K Pro",其最大卖点是使用了16000mA ...
- android充电状态广播,Android 获取电池是否充电状态、充电器类型
0. demo 下载 https://github.com/sufadi/BatteryInfo 1. 电池广播获取充电状态 // 电池状态 import static android.os.Batt ...
- android 获取电池最大容量,Android 获取电池电压和电池电压高提示
1. Demo 下载 https://github.com/sufadi/BatteryInfo 2. 获取电池电压 // 当前电池电压 import static android.os.Batter ...
- android+获取电池信息,Delphi XE5 Android应用程序获取电池信息
将android.os.BatteryManager类移植到Delphi. uses Androidapi.JNI.JavaTypes, Androidapi.JNIBridge; type JBat ...
- android获取电池是否充电,Android 判断电池是否为充电状态的方法
1. 工具类方法 package com.android.settings.fuelgauge; import android.content.Context; import android.cont ...
- Android获取电池电量的三种方法
方法一:注册广播 这个方法网上一搜一大堆,我也贴出部分代码 IntentFilter filter2 = new IntentFilter(); filter2.addAction(Intent.AC ...
- android 静态注册获取电量,获取手机电池百分比和电池容量方法
在智能手机的开发过程中,经常需要获取手机的电池信息.其实获取的方法很多,下面介绍下方法. 一:首先介绍获取电池容量.例如java反射方式获取.代码如下 package com.example.jame ...
最新文章
- 使用XML创建Excel文档
- 网页防止另存为,屏蔽右键,防止复制代码,防止被人frame等网页代码
- 【CentOS Linux 7】实验5【Samba服务器管理】
- display:block的注意
- 嵌入式软件工程师2021面试指南【转】
- 如何把html转换cad,Tab2Xls插件(捷克版)将AutoCAD表格转换为XLS、CSV或HTML。
- C++笔记-解决VS2015Qt项目MSB3758.MSB4036
- MXNet——symbol
- javascript 密码花园 并不清晰的js基础 总结(1)
- 中标麒麟Linux系统串口,中标麒麟操作系统串口调试方法研究-嵌入式-电子工程世界网...
- python-txt转换为pdf
- 谐波叠加法matlab,谐波叠加法 可运行程序,分享不谢
- Java的多态性以及Annotion注解
- 【Python报错】MemoryError
- vue-element-admin 后台管理系统
- MIT 线性代数导论 第十九、二十讲:行列式公式、代数余子式、克拉默法则
- 一网打尽:指针和数组
- 使用Word脚注、尾注给论文添加参考文献并将编号修改成[1]的方法
- 鼠标右键失灵java_全百科鼠标助手
- 小丁带你走进git的世界二-工作区暂存区分支
热门文章
- 项羽ol网站服务器,《项羽ol》4千万平米无缝地图带你飞
- 闲聊互联网经济的现代化
- Mol Cell Proteomics. |陈洁| 整合鸟枪法蛋白质组学中鉴定和定量的错误率
- 2015.3.30第一次博客测试
- IT 路,梦里思路长。
- 惠普电脑BIOS设置图文详细介绍
- 《三国演义》与“项目管理”——从诸葛亮舌战群儒看商务谈判
- python环境IDLE下载
- android 蓝牙设备断开,android – 如何检查设备的蓝牙连接是否断开?
- sql server 数据库中null 转换为 0