È possibile abilitare/disabilitare Risparmio batteria in modo programmatico su dispositivi con root. È necessario modificare il valore low_power
nella tabella global
, nel file /data/data/com.android.providers.settings/databases/settings.db
.
Se il dispositivo supporta settings
di comando, è possibile eseguire (come root):
settings put global low_power 1
per consentire Energy Saver e
settings put global low_power 0
per disattivarlo.
In caso contrario, utilizzare
sqlite3
comando:
sqlite3 /data/data/com.android.providers.settings/databases/settings.db "update global set value='1' where name='low_power';"
sqlite3 /data/data/com.android.providers.settings/databases/settings.db "update global set value='0' where name='low_power';"
Ricordate che è necessario scollegare il telefono dal PC prima, altrimenti il sistema consente di disattivare Energy Saver. Usa ADB su WiFi o Terminale Android (Emulatore).
UPDATE:
Il metodo sqlite3
non sembra essere più affidabile.
Non sono sicuro che la trasmissione android.os.action.POWER_SAVE_MODE_CHANGED venga inviata. Forse è necessario inviare manualmente, come nel codice here:
private static String COMMAND_ENABLE = "settings put global low_power 1\n" + "am broadcast -a android.os.action.POWER_SAVE_MODE_CHANGED --ez mode true\n"; private static String COMMAND_DISABLE = "settings put global low_power 0\n" + "am broadcast -a android.os.action.POWER_SAVE_MODE_CHANGED --ez mode false\n";
Inoltre, è stato segnalato che una nuova voce power_saving apparso nel database delle impostazioni, ma in Android 6.0.1 non sono riuscito a Trovalo. In Android 7.1.1_r13 low_power è ancora utilizzato internamente (ad esempio here), tuttavia potrebbe essere modificato in alcune versioni di Android. Potresti voler continuare a controllare le modifiche in f.e. this e this file.
Non è possibile attivare la modalità di risparmio della batteria a livello di programmazione. Causa violazioni della sicurezza. Solo l'utente del telefono può cambiare la modalità. Le applicazioni non possono cambiare la modalità di risparmio della batteria – mertyildiran
Grazie @MehmetMertYidiran. Per ulteriori informazioni, avete ulteriori informazioni/collegamenti su come o quali "violazioni della sicurezza" potrebbero essere causati da questo? –
"violazioni della sicurezza": voglio dire, pensa a quello scenario sono l'utente del telefono e sto giocando al mio telefono. La tua applicazione è in esecuzione in background e poi improvvisamente cambia il mio telefono in modalità risparmio energetico. Tutto in una volta, le mie prestazioni diminuiranno, il mio display si scurirà e forse anche le mie app si bloccheranno. A causa di ciò, ciò significa che un grande rischio per gli utenti e Android non consente di cambiare la modalità di risparmio della batteria a livello di programmazione. – mertyildiran