android中獲取電池當前電量

Android是通過sys僞文件系統中文件來獲取手機電池的電量及狀態。

路徑: /sys/class/power_supply/xxxx/


僞裝capacity文件來手動控件電池電量狀態, 基本思路是將/sys/class/power_supply/xxxx/作爲一個分區的掛載點, 然後在分區創建必要的文件,然後就可以模擬系統低電量狀態

#!/system/bin/sh


# create a fake battery level file and copy  neccessary file that android use.
touch /data/capacity
echo 50 > /data/capacity 
cp /sys/class/power_supply/XXXX/status    /data/
cp /sys/class/power_supply/XXXX/temp      /data/
cp /sys/class/power_supply/XXXX/health    /data/
cp /sys/class/power_supply/XXXX/present   /data/
cp /sys/class/power_supply/XXXX/voltage* /data/


# using mount command to get correspond partiton of /data/ directory
# remount partion to /sys/class/power_supply/xxxx
mount -rw -t ext4 /dev/block/mmcblk0pX  /sys/class/power_supply/XXXX


# emulate empty battery status   need to unplug USB as Android will think it's in charge status when USB plugged.
echo 0 > /data/capacity


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章