Note : la solution ci-dessous nécessite que votre Android soit enraciné.
Je pense que l'automatisation sans Root ne traiterait pas directement le problème, puisqu'elle ne modifie ni ne remplace rien, mais fait son propre travail sur les modifications existantes. J'étais sur le point de poster sur des lignes similaires jusqu'à ce que je réalise que la clé de la solution est un fichier nommé max_brightness
un dossier sous /sys
Il fait donc partie du noyau Linux et est directement géré par celui-ci. J'ai trouvé que la définition de la limite de luminosité dans ce fichier est la meilleure façon de procéder ici. Vous pouvez ne pas être d'accord avec une meilleure solution.
J'ai remarqué qu'une fois que votre luminosité maximale personnalisée est définie, ni Android ni une application n'est en mesure de définir la luminosité au-delà de ce niveau personnalisé, à moins qu'ils ne modifient le contenu de ce fichier, ce que souvent une application n'a aucune raison de faire et qu'aucune d'entre elles n'a changé non plus. De plus, le fichier appartient à Root et fait partie du groupe Root, donc n'importe quelle application ou même system_server aurait besoin du privilège Root pour apporter des modifications à ce fichier.
Trouver ce fichier est un peu difficile. Dans mon appareil MTK avec Android 4.2, ce fichier semble se trouver sous /sys/devices/platform/leds-mt65xx/leds/lcd-backlight/
.
Sur mon appareil Qualcomm équipé d'Android 5.0.2 et des versions ultérieures, le fichier semble être dans le répertoire /sys/devices/mdp.0/qcom,mdss_fb_primary.168/leds/lcd-backlight/
.
Je suppose que la meilleure façon de trouver ce fichier est de lancer une requête de recherche (setup adb pour cela), comme :
(Exigeant <a href="https://play.google.com/store/apps/details?id=stericson.busybox" rel="nofollow noreferrer">busybox </a>)
adb shell su -c 'find /sys/ -type f -iname "max_brightness"'
Dans mon appareil Qualcomm, la sortie qu'il donne est la suivante :
/sys/devices/f9924000.i2c/i2c-2/2-0068/leds/red/max\_brightness
/sys/devices/f9924000.i2c/i2c-2/2-0068/leds/blue/max\_brightness
/sys/devices/f9924000.i2c/i2c-2/2-0068/leds/green/max\_brightness
**/sys/devices/mdp.0/qcom,mdss\_fb\_primary.168/leds/lcd-backlight**/max\_brightness
/sys/devices/qcom,camera-led-flash.81/leds/torch-light/max\_brightness
/sys/devices/msm\_sdcc.1/leds/mmc0::/max\_brightness
/sys/devices/msm\_sdcc.2/leds/mmc1::/max\_brightness
/sys/devices/01-qcom,leds-d300/leds/led:flash\_torch/max\_brightness
/sys/devices/01-qcom,leds-d300/leds/led:flash\_0/max\_brightness
/sys/devices/01-qcom,leds-d300/leds/led:flash\_1/max\_brightness
/sys/devices/01-qcom,leds-e200/leds/kpdbl-lut-2/max\_brightness
/sys/devices/01-qcom,leds-e200/leds/kpdbl-pwm-3/max\_brightness
/sys/devices/01-qcom,leds-e200/leds/kpdbl-pwm-4/max\_brightness
/sys/devices/01-qcom,leds-e200/leds/button-backlight/max\_brightness
L'endroit où lcd-backlight
est mentionné était le seul qui avait un sens pour moi et c'est ainsi que j'ai trouvé le fichier dans mon appareil. Ne vous inquiétez pas de demander pour les autres. J'ai essayé de changer la luminosité de l'écran et j'ai cherché les changements dans le fichier nommé brightness
(également situé sous ces mêmes emplacements). Aucun d'entre eux ne reflète la sortie correcte, à l'exception de celui situé à /sys/devices/mdp.0/qcom,mdss_fb_primary.168/leds/lcd-backlight
.
Seulement pour la démonstration, essayez de fixer une limite dans max_brightness
adb shell su -c 'echo LIMIT > PATH_TO_MAX_BRIGHTNESS' # in my case PATH_TO_MAX_BRIGHTNESS is /sys/devices/mdp.0/qcom,mdss_fb_primary.168/leds/lcd-backlight/ and set LIMIT to a value less than 30 (not limited to).
Essayez maintenant de maximiser la luminosité en utilisant le curseur de luminosité ou une application tierce et vous remarquerez que la luminosité de votre écran ne dépasse pas un certain point même si le curseur ou la configuration de l'application semble être au maximum. La luminosité pour ce "certain point" sera certainement inférieure à la luminosité par défaut à laquelle vous êtes habitué.
Nota que la valeur maximale dans max_brightness se trouve souvent être 255 et que la luminosité va de 0 à 255. C'est souvent, mais pas toujours vrai. Et Vous ne pouvez pas craindre que la limite soit fixée à 0, car l'écran ne s'allumerait pas tant que vous n'auriez pas annulé les modifications ou redémarré l'appareil.
Trouvez une limite qui ne vous dérange pas pendant votre sommeil ou qui ne vide pas la batterie lorsque celle-ci est faible.
Automatisation
Para automatisation Pour l'automatisation, utilisez n'importe quelle application d'automatisation qui peut exécuter une commande avec le privilège Root et lorsque le contexte de votre déclencheur préféré est satisfait. Je recommande un déclencheur basé sur le temps.
Quelques exemples concrets :
-
Sur Tasker Pour cela, configurez un profil avec votre contexte préféré, créez une tâche et utilisez l'action : Code → Exécuter le shell :
- Commandement :
echo LIMIT > PATH_TO_MAX_BRIGHTNESS
- check Use Root
-
Sur MacroDroid Pour l'installation de la gâchette et de l'action Paramètres sécurisés choisissez-le → Actions → Exécuter la commande :
- Commandement :
echo LIMIT > PATH_TO_MAX_BRIGHTNESS
- check Use Root
-
Sur Automatiser Dans le cadre de votre flux, lorsque vous définissez une action pour votre déclencheur, sélectionnez Commande shell superuser sous Apps et do :
- Ligne de commande :
echo LIMIT > PATH_TO_MAX_BRIGHTNESS
Assurez-vous d'installer toutes les permissions requises par le flux.
-
Sur DroidAutomation , configurez votre déclencheur et sous la tâche, sélectionnez Racine → Exécuter une ligne de commande et tapez : echo LIMIT > PATH_TO_MAX_BRIGHTNESS
Comme vous l'auriez deviné, vous devez configurer deux profils pour chaque application. L'un pour définir une limite et l'autre pour régler la luminosité maximale sur la valeur par défaut à laquelle vous êtes habitué.
Déclencheurs explicites de batterie faible :
-
Tasker
- État → Niveau de la batterie → définir la portée
- Alternatif : Événement → Système → Intent Received → laisser tout intact mais définir l'Action sur .
android.intent.action.BATTERY_LOW
.
-
MacroDroid
Suivre beeshayms réponse pour configurer le déclencheur
-
Automatiser
Allez dans Apps → Diffuser recevoir → laissez tout intact mais sélectionnez Batterie faible dans Action.
-
Automatisation des droïdes
Sélectionnez Batterie faible dans Ajouter un déclencheur
Je voudrais que vous garder cela à l'esprit que l'utilisation d'un déclencheur de batterie faible ou de batterie à 100% irait à l'encontre de l'objectif de cette réponse, qui est d'annuler les changements qu'Android veut faire. Par exemple, si vous définissez LIMIT à 0 chaque fois que la batterie atteint 100%, ce qui se passerait, c'est que votre Android allumerait l'écran au maximum comme d'habitude et en quelques millisecondes (vous avez bien lu) votre application d'automatisation s'exécuterait et définirait la limite. Votre sommeil pourrait être interrompu pendant ces millisecondes.
Dans une autre situation, lorsque l'intention de batterie faible est diffusée par le système, la tablette de Cool Guy peut se retrouver avec un écran allumé au maximum et en quelques millisecondes, la luminosité retombera à LIMITE.
La solution de contournement consiste à configurer le niveau de la batterie sur 16 ou plus pour le déclenchement de la batterie faible et sur 99 ou moins pour la charge complète de la batterie.
0 votes
Votre luminosité est-elle réglée sur auto ? Et utilisez-vous une application qui améliore la batterie ?
0 votes
@Lucky " Votre luminosité est-elle réglée sur auto ? "Ma tablette ne dispose pas d'une telle option. Je la garde au minimum. " Et utilisez-vous une application qui améliore la batterie ? "Ma tablette est livrée avec le "Lenovo Power Manager". Il n'a pas d'option liée à la luminosité, cependant. Je ne pense donc pas que ce soit le coupable. Mais maintenant, j'ai trouvé une option "lunettes de protection" (diminue la luminosité de l'écran lorsqu'elle est activée) dans cette application qui est actuellement désactivée. Je vais l'essayer et voir si elle peut éviter ce problème. J'attends que la batterie devienne faible pour l'essayer...
0 votes
Avez-vous essayé l'option "lunettes de protection" ? Quel est le résultat ? De plus, je n'ai pas beaucoup d'espoir que l'on puisse empêcher la luminosité d'augmenter sans accès Root (il y a un fichier sous
/sys
) ou une réinitialisation d'usine ou un paramètre système qui, selon vous, n'existe pas. // Il y a une action dans l'application TaskerDisplay -> Brightness
qui peut être en mesure d'annuler les paramètres que votre système suit. Je dois attendre d'être à 15% pour le tester dans mon système.0 votes
@Firelord J'ai remarqué que l'option " lunettes de protection ", lorsqu'elle est activée, me présente un curseur qui ajuste la luminosité. Lorsque la luminosité du système est au minimum et que cette option est activée, le curseur est au niveau maximum et la luminosité de l'écran diminue en dessous de la niche minimale fournie par le système. En diminuant le curseur lorsque la luminosité du système est au minimum, la luminosité diminue encore plus ! Mais lorsque la luminosité du système est au maximum et que la luminosité de l'option est au minimum, la luminosité de l'écran est faible mais la barre inférieure a une luminosité totale.
0 votes
@Firelord La barre inférieure est la barre qui contient les 3 boutons retour, accueil et applications récentes. Pensez-vous que la luminosité supplémentaire de la barre affectera la batterie ? Et oh ! je n'ai pas essayé l'option 'lunettes de protection' pour contrer le problème présenté dans cette question. J'attends toujours que la batterie se vide
0 votes
@Firelord Ok. J'ai testé l'option 'lunettes de protection', et ça n'a pas marché.....
0 votes
Je suis désolé. Je suis à court de solutions pour les appareils non enracinés dans ce cas.
0 votes
@CoolGuy Question très intéressante ! J'ai un problème inverse. Je veux désactiver une pleine luminosité soudaine lorsque la batterie est pleine : Android.stackexchange.com/q/133382/9897 parce que ça me réveille.
0 votes
@Masi Il serait utile que vous réduisiez la portée en mentionnant le nom de votre appareil, la version actuelle d'Android et/ou le nom de la ROM. Par exemple, l'emplacement du fichier de réglage de la luminosité maximale diffère dans les ROMs Android et Samsung.
0 votes
@Firelord Samsung galaxy S4, Android 5.0.1 lollipop. J'ai acheté le Tasker donc j'essaie de travailler avec lui aussi. Je dois Rooter mon téléphone apparemment.