Android BatteryManager 为所有属性检索调用返回 0

标签 android batterymanager

我在尝试访问 Android 设备电池的大部分统计数据时遇到问题,例如 BATTERY_PROPERTY_CAPACITYBATTERY_PROPERTY_CHARGE_COUNTERBATTERY_PROPERTY_CURRENT_AVERAGE。这些属性都清楚地记录在此处:http://developer.android.com/reference/android/os/BatteryManager.html

我的 list 上声明了以下权限:

<uses-permission android:name="android.permission.BATTERY_STATS" />

我有一个非空的 BatteryManager 实例:

mBatteryManager = (BatteryManager) getSystemService(BATTERY_SERVICE);

每当我尝试检索这些统计数据时:

double remainingCapacity = mBatteryManager.getIntProperty(
            BatteryManager.BATTERY_PROPERTY_CAPACITY);
double batteryCapacityMicroAh = mBatteryManager.getIntProperty(
            BatteryManager.BATTERY_PROPERTY_CHARGE_COUNTER);
double averageCurrentMicroA = mBatteryManager.getIntProperty(
            BatteryManager.BATTERY_PROPERTY_CURRENT_AVERAGE);

所有这些的结果都是 0。总是,没有失败,0。我已经在模拟器、实际设备上尝试过这个,我想到的一切都未能修改我的结果。

如果有任何帮助,我将不胜感激。最终,我要做的是计算设备充满电的剩余时间(充电时)。提前致谢。

最佳答案

现在不确定这对您是否有帮助,但只有配备电池电量计 (https://source.android.com/devices/tech/power/device.html) 的手机才能报告您正在寻找的一些值。据我所知,只有 Nexus 6、9 和 10 提供了您要查找的所有三个值,而 Nexus 5 仅提供了 BATTERY_PROPERTY_CAPACITY

关于Android BatteryManager 为所有属性检索调用返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32280582/

相关文章:

ios - 当前电池状态总是在 ios 中返回 "Charging"

安卓 :How to get Battery status without Broadcast Receiver for API level 17 and above?

java - 如何建立 TCP 连接并将数据发送到 Android Virtual Device App

android - 适用于 Android 的 WebP

android - 适用于 Android 的人脸识别器 opencv 类

android - addApi(Games.API) 已弃用

android - 想在windows平台运行Monkeyrunner加载图片对比

android - 有没有办法发现 android 手机的电池不再可用,我们需要以编程方式更改它?

android - 电池管理器中android EXTRA_SCALE和LEVEL的单位

android - 计算电池剩余时间