Android 如果插入车内的usb充电器,电池状态显示不正确
我有一个应用程序,可以显示android设备是通过插头、usb电缆、无线设备充电还是根本不充电。我正在使用下面的代码,它将显示正确的充电方法(如果有),直到我将手机(安卓4.1)或平板电脑(安卓4.3)充电到车内的usb充电器。它会说是通过插头充电,而应该说是usb设备。这背后的原因是什么Android 如果插入车内的usb充电器,电池状态显示不正确,android,batterylevel,Android,Batterylevel,我有一个应用程序,可以显示android设备是通过插头、usb电缆、无线设备充电还是根本不充电。我正在使用下面的代码,它将显示正确的充电方法(如果有),直到我将手机(安卓4.1)或平板电脑(安卓4.3)充电到车内的usb充电器。它会说是通过插头充电,而应该说是usb设备。这背后的原因是什么 IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); Intent batterySta
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = registerReceiver(null, filter);
int chargeState = batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
if(chargeState == BatteryManager.BATTERY_PLUGGED_USB)
{
chargingBy = "charging via usb cable";
}
else if (chargeState == BatteryManager.BATTERY_PLUGGED_AC)
{
chargingBy = "charging via plug";
}
else if (chargeState == BatteryManager.BATTERY_PLUGGED_WIRELESS)
{
chargingBy = "charging via wireless device";
}
else
{
chargingBy = "not charging";
}
从硬件的角度来看,交流充电器和汽车充电器之间没有任何区别,所以这并不奇怪。这是一个相当长的阅读,但USB充电的完整规范可以在这里找到,作为一个1.3MB的zip文件:
据推测,
BATTERY\u PLUGGED\u USB
已为USB主机保留,而BATTERY\u PLUGGED\u AC
将仅被识别为充电器。无线充电需要手机/平板电脑内的硬件支持,因此具备该功能的硬件能够在使用时进行检测。Hmm好的,谢谢,我会读到的。至少我知道我的代码没有错:)