Come fermare i wakelock da qualsiasi app Android senza root

Ti sei mai chiesto perché il tuo telefono Android consuma la batteria così velocemente quando lo schermo è spento? Wakelock! Ecco un tutorial su come fermare i wakelock!

Ti è mai capitato di andare a dormire la notte con il telefono completamente carico, per poi svegliarti con la batteria scarica? Non preoccuparti, è successo a tutti noi. Anche con Modalità sonnecchiare e tutto Gli sforzi di Google per migliorare la durata della batteria su Android, la durata della batteria inattiva non è esattamente l'ideale. Soprattutto se hai molte app installate. Il colpevole è molto probabilmente un wakelock che si comporta male da un'app come Facebook, Messenger, Snapchat, come lo chiami. Fortunatamente, puoi facilmente fermare questi wakelock usando semplici comandi della shell. E non hai nemmeno bisogno del root per quello! Oggi ti mostreremo come puoi ferma i wakelock da qualsiasi app Android senza usare root. Questo può essere fatto su ogni telefono Android, purché tu abbia ADB.


Blocca i Wakelock da qualsiasi app Android

Tutorial video dal nostro canale YouTube nel caso in cui preferisci un aiuto visivo

Prima di iniziare qualsiasi cosa, dovrai configurare ADB sia sul tuo telefono che sul tuo computer. Se non l'hai ancora fatto, fai riferimento a questo tutorial per sistemarti.

A meno che tu non sia completamente sicuro di cosa sta scaricando la batteria, utilizzeremo un piccolo strumento chiamato "Better Battery Stats" per trovare il colpevole. Lo sviluppatore è attivo sui nostri forum, quindi puoi trovare l'app Qui. Tuttavia, se desideri supportare lo sviluppatore, puoi anche scaricarlo dal Google Play Store, dove è un'applicazione a pagamento. Fornisce molte altre statistiche come stati della CPU, riattivazioni delle app e informazioni di rete.

BetterBatteryStatsSviluppatore: Sven Knispel

Prezzo: 1,99.

4.

Scaricamento

Richiede il root sui dispositivi con Android KitKat e versioni successive, tuttavia esiste una soluzione alternativa al comando ADB per i dispositivi senza root. Collega il tuo dispositivo al computer, tramite debug USB o debug WiFi. Assicurati che sia connesso usando il comando:

adb devices

Quindi, avvieremo la shell Android utilizzando il seguente comando:

adb shell

Successivamente, concederemo a BetterBatteryStats appena installato l'autorizzazione BATTERY_STATS con:

pmgrantcom.asksven.betterbatterystats_xdaeditionandroid.permission.BATTERY_STATS

Fatto! Ora BBS funzionerà sul tuo dispositivo senza root.

Nota: se hai acquistato Better Battery Stats dal Google Play Store, modifica "com.asksven.betterbatterystats_xdaedition" solo in "com.asksven.betterbatterystats" nel comando ADB precedente.

Trovare il colpevole

Hai molte applicazioni sul tuo telefono, quindi non esiste un modo semplice per sapere con certezza cosa sta consumando la batteria. Ecco perché utilizziamo Better Battery Stats per trovare il wakelock responsabile. Dopo aver configurato l'app, carica il telefono, quindi scollegalo e lascialo da solo con lo schermo spento per almeno 30 minuti. Questo dovrebbe dare all'app tutto il tempo per registrare tutto. Una volta all'interno dell'app, seleziona Wakelock parziali e scopri quale applicazione sta causando il maggior danno.

Arresto del Wakelock

Ora che sappiamo cosa sta consumando la batteria, possiamo fermarlo. Nel nostro caso, è Snapchat. Qualunque sia il tuo colpevole, assicurati di trovare il nome del pacchetto dell'applicazione utilizzando Package Name Viewer dal Play Store, perché ne avremo bisogno per il nostro comando ADB di seguito.

Visualizzatore nome pacchetto 2.0Sviluppatore: csIng

Prezzo: gratuito.

4.5.

Scaricamento

Poiché ovviamente hai disconnesso il telefono per utilizzare Better Battery Stats, ricollegalo al computer per utilizzare nuovamente ADB. Ancora una volta, controlla se è collegato correttamente

adb devices

Ed entra nella shell usando:

adb shell

Ora, utilizzando il nome del pacchetto dell'app di destinazione, invia il seguente comando:

cmdappopssetcom.android.applicationWAKE_LOCKignore

Ovviamente, cambierai "com.android.application" con il nome del pacchetto della tua applicazione. Nel mio caso:

cmdappopssetcom.snapchat.androidWAKE_LOCKignore

Se hai eseguito correttamente tutti i passaggi, tutte le richieste di wakelock da parte dell'app verranno ignorate dal sistema Android. Congratulazioni!


Spiegazione

Un wakelock, in parole povere, è solo un modo per un'app di mantenere svegli la CPU/lo schermo/altre cose quando il telefono è inattivo per eseguire un'attività specifica in background. Alcune app hanno legittimamente bisogno di wakelock per funzionare correttamente, ma il problema si verifica quando alcune applicazioni contengono wakelock ripetutamente, tenerli a lungo senza farli cadere o eseguire attività eccessive/non necessarie di rete e CPU traendo vantaggio da questi wakelock.

Caso in questione: app come Snapchat, Facebook, Messenger o altre app di social media includono wakelock che si comportano in modo anomalo. Questo tutorial è semplicemente un modo per impedire che questi wakelock si ripetano senza disinstallare l'app. Se, tuttavia, noti che l'app smette di funzionare correttamente dopo aver utilizzato questo comando ADB, puoi ripristinare le cose com'erano eseguendo nuovamente il comando e modificando "ignora" in "consenti" o semplicemente disinstallando e reinstallando l'app Ancora.