J'ai réussi à le faire fonctionner - démarrage automatique lorsque le chargeur est branché - sur mon HTC Desire 200. Il n'y a pas de playlpm/lpm/idot/chargemon sur ces appareils HTC. Heureusement, il existe quelque chose de similaire, /system/bin/zchgd . Il s'agit d'un service qui prend en charge l'animation de la charge. Sur cet appareil spécifique, l'animation de chargement est jouée même si le téléphone est allumé (sur l'écran de verrouillage), elle est également jouée lorsque le téléphone est éteint alors qu'il est sur un chargeur. (BTW : les images de l'animation se trouvent à l'adresse suivante /system/media/zchrgd .)
Comme je l'ai découvert, le zchgd Le service est lancé différemment selon que le téléphone est éteint ou allumé. J'ai juste parcouru les scripts init, dans mon cas /init.gtou.rc :
service zchgd_offmode /system/bin/zchgd -pseudooffmode
user root
group root graphics
disabled
service zchgd_onmode /system/bin/zchgd -onmode
user root
group root graphics
on property:dev.zcharge=true
start zchgd_onmode
on property:dev.zcharge=false
stop zchgd_onmode
Donc, j'ai créé un faux zchgd service, un simple sh script qui remplace le service original.
Des pas :
adb shell
su
mount -o rw,remount,rw /system
cd /system/bin
ls -l zchgd*
mv zchgd zchgd_original
touch zchgd
vi zchgd # <- insert content
chmod 0755 zchgd
chown root.shell zchgd
ls -l zchgd*
Contenu de mon faux service :
#!/system/bin/sh
log -p v -t "zchgdwrapper" "Starting fake zchgd service; args='$@'"
if [ "$#" -eq 1 ]; then
case $1 in
-pseudooffmode)
log -p v -t "zchgdwrapper" "PseudoOffMode service"
while true; do
sleep 60
enabled=$(cat /sys/class/power_supply/battery/charging_enabled)
log -p v -t "zchgdwrapper" "Checking battery charging enabled; enabled='$enabled'"
if [ "$enabled" -gt 0 ]; then
log -p v -t "zchgdwrapper" "Going to magic-reboot"
su -c "echo 1 > /proc/sys/kernel/sysrq"
su -c "echo b > /proc/sysrq-trigger"
ret=$?
log -p v -t "zchgdwrapper" "Magic-reboot issued ret='$ret'"
sleep 120
exit 0
fi
done
;;
-onmode)
log -p v -t "zchgdwrapper" "OnMode service"
while true; do
log -p v -t "zchgdwrapper" "Sleeping beauty"
sleep 3600
done
;;
esac
fi
log -p v -t "zchgdwrapper" "Not gonna happen - starting the original service"
/system/bin/zchgd_original $@
exit $?
Lorsque le service est fixé avec -pseudooffmode l'argument, puis il vérifie périodiquement l'état de la batterie (toutes les minutes dans mon cas). Si le téléphone est en cours de chargement ou si la batterie est pleine, il redémarre automatiquement le téléphone. redémarrer le téléphone. Je ne pouvais pas utiliser /system/bin/reboot j'ai eu des erreurs de permission, alors que je les avais... Donc je le redémarre avec un hack, que deux lignes d'écho. Le site -onmode est là uniquement parce que je ne veux pas voir l'animation de charge même si mon téléphone est allumé.
Vous pouvez déboguer le script avec adb logcat -s zchgdwrapper . J'espère que cela a été utile !
IMPORTANT
Pour que cela fonctionne, vous devez MUST activer Paramètres/Power/Fast boot option. Elle ne fonctionnera pas si elle est désactivée, je pense que sans l'option de démarrage rapide un autre firmware est démarré, mais je n'en suis pas sûr.
J'ai aussi cette configuration dans SuperSU# Je ne pense pas que ce soit nécessaire, mais c'est ainsi :
- Accès par défaut < Accord
- Activer su pendant le démarrage
- Utilisateur du système de confiance
Plus d'informations : https://github.com/tomicooler/htcdesire200autoboot
0 votes
Avez-vous trouvé une solution avant cela ?
0 votes
Cela répond-il à votre question ? Allume automatiquement Android lorsque le chargeur est connecté.