首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么BatteryManager返回错误的温度值?

为什么BatteryManager返回错误的温度值?
EN

Stack Overflow用户
提问于 2017-08-10 04:56:12
回答 1查看 320关注 0票数 0

我正在尝试将BQ27531电池煤气表集成到i.MX6 SoM中。我加载了驱动程序,在sysfs上看起来一切正常。当我运行cat /sys/bus/i2c/devices/2-0055/power_supply/bq27531-0/temp时,我得到的正确值是247C(意味着24.7°C)。

现在,我想获取Android系统中的值。我写了一个简单的应用程序,基本上调用:

代码语言:javascript
复制
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent intent = registerReceiver(null, filter);
int temprature = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, -1);

这应该会给我温度读数,但它返回424 (42.4°C)。为什么温度值是错误的?我确信电池的温度是室温的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-14 22:23:48

所以,结果是我的系统没有识别电池,424是默认的“假”温度。它是在platform/system/core/healthd中定义的

代码语言:javascript
复制
#define POWER_SUPPLY_SUBSYSTEM "power_supply"
#define POWER_SUPPLY_SYSFS_PATH "/sys/class/" POWER_SUPPLY_SUBSYSTEM
#define FAKE_BATTERY_CAPACITY 42
#define FAKE_BATTERY_TEMPERATURE 424
#define ALWAYS_PLUGGED_CAPACITY 100
#define MILLION 1.0e6
#define DEFAULT_VBUS_VOLTAGE 5000000
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45600513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档