我有一个NDK应用程序,可以从/sys/class/power_supply/battery
读取电池状态信息。这适用于大多数设备。在某些设备上,该目录不可读。例如,在NVIDIA Shield上:
$ adb shell
shell@shieldtablet:/ $ ls /sys/class/power_supply/battery/
/sys/class/power_supply/battery/: Permission denied
是否有其他方法可以在这些设备上获取NDK中的电池信息?
用于获取电池信息的Java API照常工作,但这适用于NDK应用程序,因此我想要一种仅限C ++的方法。
答案 0 :(得分:2)
我通过在BroadcastReceiver
监听ACTION_BATTERY_CHANGED
广播的Java中创建全局对象来解决这个问题。它缓存值,我使用JNI从C ++查询它们。我很想知道一个更清洁的解决方案。