Battery 在Android平板电脑上查找电池电流(mA/mAh)

Battery 在Android平板电脑上查找电池电流(mA/mAh),battery,shell,Battery,Shell,我正在创建一个应用程序,我需要能够获得电池电流(mA/mAh)。我有电压/温度/水平等,这是我需要得到的最后一件事,巧合的是,也是最难的 我已经看过了CurrentWidget的源代码(https://play.google.com/store/apps/details?id=com.manor.currentwidget&hl=en)在谷歌上下搜索,我有所有的类/方法来提取数据,这只是包含当前数据的文件路径,阻止了我获取数据 “CurrentWidget”包含许多指向文件的不同路径(用于各种设

我正在创建一个应用程序,我需要能够获得电池电流(mA/mAh)。我有电压/温度/水平等,这是我需要得到的最后一件事,巧合的是,也是最难的

我已经看过了CurrentWidget的源代码(https://play.google.com/store/apps/details?id=com.manor.currentwidget&hl=en)在谷歌上下搜索,我有所有的类/方法来提取数据,这只是包含当前数据的文件路径,阻止了我获取数据

“CurrentWidget”包含许多指向文件的不同路径(用于各种设备),但在4.0.3版的我的ASUS EEPad Transformer上没有一个路径可以工作,我需要它工作一个路径,因为它是我的测试设备,所有我可以得到的。我已经进入adb外壳,在平板电脑的根部挖了几个小时,但除了名称、温度、电压和其他我已经有的东西之外,我似乎找不到任何东西。它们都存储在/sys/class/power\u supply/battery中,但没有我预期的“电流”,而且似乎在其他设备上也没有


谢谢你的帮助,我知道这是一个漫长的过程

这似乎是重复的

但是,如果您这么想,那么如果当前的小部件无法找到平板电脑的电流,那么平板电脑可能不支持向该文件写入数据。要么因为它没有内核支持的特定功能,要么因为特定的硬件平台没有必要的硬件来测量电池终端本身的电流


正如在另一篇文章中所述,大多数其他小部件根据电流以外的其他因素计算电池的百分比

这似乎是重复的

但是,如果您这么想,那么如果当前的小部件无法找到平板电脑的电流,那么平板电脑可能不支持向该文件写入数据。要么因为它没有内核支持的特定功能,要么因为特定的硬件平台没有必要的硬件来测量电池终端本身的电流


正如在另一篇文章中所述,大多数其他小部件根据电流以外的其他因素计算电池的百分比

电池的当前容量可以通过反射使用android开发者的功能来实现

private Object mPowerProfile_;

private static final String POWER_PROFILE_CLASS ="com.android.internal.os.PowerProfile";

mPowerProfile_ = Class.forName(POWER_PROFILE_CLASS).getConstructor(Context.class).newInstance(this);

double batteryCapacity=(Double)Class.forName(POWER_PROFILE_CLASS).getMethod("getAveragePower", java.lang.String.class).invoke(mPowerProfile_, "battery.capacity");

我认为这将有助于通过反射使用android developer的功能来实现电池的当前容量

private Object mPowerProfile_;

private static final String POWER_PROFILE_CLASS ="com.android.internal.os.PowerProfile";

mPowerProfile_ = Class.forName(POWER_PROFILE_CLASS).getConstructor(Context.class).newInstance(this);

double batteryCapacity=(Double)Class.forName(POWER_PROFILE_CLASS).getMethod("getAveragePower", java.lang.String.class).invoke(mPowerProfile_, "battery.capacity");

我认为这将有助于

非常好地工作!:-)干得很好!:-)