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

时间:2012-11-20 15:14:24

标签: battery shell

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

我查看了CurrentWidget源代码(https://play.google.com/store/apps/details?id=com.manor.currentwidget&hl=en)并搜索了Google的高低,我有所有用于提取数据的类/方法,它只是包含当前阻止我获取数据的文件的路径

“CurrentWidget”包含许多不同的文件路径(适用于各种设备),但它们都不适用于4.0.3上的 ASUS EEPad Transformer ,我需要它才能工作一个因为这是我的测试设备,所有我可以得到我的手。我已经进入了adb shell并在平板电脑的根部周围挖了好几个小时但我似乎找不到除了名字,temp,voltage_now和其他我已经拥有的东西之外的任何东西。它们都存储在/ sys / class / power_supply / battery中,但是没有像我预期的那样“当前”,就像其他设备上似乎存在一样。

感谢您的帮助,我知道这很长!

2 个答案:

答案 0 :(得分:3)

电池的当前容量可以通过使用android developer,s函数通过反射来实现

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");

我认为这会有所帮助

答案 1 :(得分:1)

这似乎是Getting the battery current values for the Android Phone

的重复

但是,如果您如此倾向,似乎如果当前小部件无法找到平板电脑的安培数,则平板电脑可能不支持写入该文件。或者是因为它没有内核支持的特定功能,或者由于特定的硬件平台没有必要的硬件来基本上测量电池终端本身的电流。

如另一篇文章所述,大多数其他小部件根据当前除其他因素计算电池的百分比。