我正在为一款类似手机的设备(如工业部署)而开发AndroidAOSP8.1(奥利奥),而且没有电池。然而,当我打开它时,它显示一个充电指示器和一个6%的功率读数。我需要改变什么才能告诉Android没有电池?我认为这是可能的,因为Android也运行在诸如机顶盒等设备上。我能移除这个验证吗?我尝试过在./frameworks/base/services/core/java/com/android/server/BatteryService.java,中修改BatteryService.java,也尝试过修改frameworks/base/core/res/res/values/config.xml,但没有成功。任何帮助都是非常欢迎的。
提前谢谢。
发布于 2020-06-23 09:04:43
正如Simpl提到的,AOSP描述了如何配置无电池设备,我在Android 9上为我的工业设备实现了健康HAL,默认情况下它没有显示电池未知(如AOSP文档中提到的)。我的要求是显示电池100%时,没有插入电池和实际电池状态时,电池存在。
下面是来自我的健康哈尔,HealthService.cpp的代码片段
int healthd_board_battery_update(struct android::BatteryProperties *props) {
// return 0 to log periodic polled battery status to kernel log
if (! props->batteryPresent){
props->chargerAcOnline=true;
props->batteryPresent = true;
props->batteryStatus = android::BATTERY_STATUS_CHARGING;
props->batteryHealth = android::BATTERY_HEALTH_GOOD;
props->batteryFullCharge = 100;
props->batteryLevel = 100;
}
return 0;
}
有关如何编写自己的健康HAL的更多详细信息,请参见:https://android.googlesource.com/platform/hardware/interfaces/+/master/health/2.0/README.md
发布于 2020-04-07 11:38:33
官方文档描述了如何配置无电池设备:https://source.android.com/devices/tech/power/batteryless
有两种可能的办法:
为AC或USB实现了一个Linux内核power_supply类充电器驱动程序,该驱动程序将其在线sysfs属性设置为true。
或
为您的设备配置Health中的AC充电器在线属性。
https://stackoverflow.com/questions/61065408
复制相似问题