我的应用使用BatteryManager.BATTERY_PROPERTY_CURRENT_NOW来获取设备的电池电流:
BatteryManager batteryManager = (BatteryManager) context.getSystemService(Context.BATTERY_SERVICE);
int current = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CURRENT_NOW), context);
但是,它不适用于例如Samsung Galaxy TabA。它仅返回0。
其他应用程序甚至在该设备上显示当前电流。他们是怎么做到的呢?我的方法有哪些替代方法?
最佳答案
根据您的问题(“仅返回0”),请查看有关getIntProperty的文档:
https://developer.android.com/reference/android/os/BatteryManager#getIntProperty(int)
如果不支持该属性或存在任何其他错误,请返回
(a)如果targetSdkVersion 为0
要么
(b)如果targetSdkVersion> = VERSION_CODES.P,则为Integer.MIN_VALUE。