我有一个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 ++的方法。
最佳答案
我通过在Java中使用BroadcastReceiver
侦听ACTION_BATTERY_CHANGED
广播创建全局对象来解决此问题。它缓存值,我使用JNI从C ++查询它们。我很想知道一个更清洁的解决方案。
关于android - 无法读取`/sys/class/power_supply/battery'时,Android NDK中的电池状态,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28616185/