设备如何向 BatteryManager 报告 BATTERY_PLUGGED_USB 和 BATTERY_PLUGGED_AC 之间的差异?

How does a device report the difference between BATTERY_PLUGGED_USB and BATTERY_PLUGGED_AC to BatteryManager?

我知道有两个不同的标志,它们代表设备是插入交流电还是 USB 充电。设备如何知道这一点,它向操作系统报告什么?

我原以为 OS 无法区分插入笔记本电脑 USB 端口并以 500 mA 充电的 phone 与插入笔记本电脑的 phone壁式充电器并以 500 mA 充电。

https://developer.android.com/reference/android/os/BatteryManager

提前致谢!

普通 AC 充电器适配器没有 USB 主机控制器可用(单向),这与计算机上的 USB 端口(双向)相反。我的带有两个仅充电 USB 端口的墙上插座的行为仍然与我的 QC4 充电器适配器不同,被检测为 "turbo power" ...这是第三种模式,它是能够检测 - 并且至少应该有一个充电控制器,以便协商用于充电的伏特和安培。同时甚至还有QC4+ available. there also is BATTERY_PLUGGED_WIRELESS ...eg. PowerMat,也只适用于兼容设备。