Blocca i processi in background senza root (Android 7.0+)

Questo tutorial ti mostra come bloccare i processi in background di qualsiasi app su Android 7.0 e 7.1 Nougat senza root utilizzando un comando ADB nascosto.

Android è sempre stata considerata la piattaforma mobile più "potente" rispetto a iOS per via della libertà offerta dalle sue applicazioni di terze parti. Ciò consente molta automazione semplicemente perché le applicazioni Android possono svolgere più attività mentre sono in esecuzione in background. Tuttavia, questo presenta uno svantaggio in quanto apre la porta a un potenziale consumo maggiore della batteria grazie ai processi in background in esecuzione sul dispositivo.

Una cosa è sapere che stai caricando il tuo telefono con applicazioni eseguite in background poiché sei disposto a sacrificare parte della durata della batteria per i vantaggi che apportano. La storia è diversa se scarichi solo applicazioni tradizionali che non sono ottimizzate e che eseguono attività in background quando non vuoi o addirittura non ne hai bisogno. Google ha lavorato per risolvere questo problema ponendo sempre più restrizioni su ciò che le applicazioni possono fare lo sfondo e il rilascio di Android O comporta la maggior parte delle restrizioni sul processo/ricevitore in background lontano.

Tuttavia, la stragrande maggioranza degli utenti non vedrà Android O sui propri dispositivi per molti mesi (se non per niente). Ma se stai correndo Android 7.0 o Android 7.1, c'è un semplice trucco che puoi eseguire manualmente impedire che un'applicazione venga eseguita in background - ed esso non richiede root o un'applicazione di terze parti. Questo è più potente di quello che offrono Greenify o app come Brevent, poiché senza accesso root tali app sono piuttosto limitate in ciò che possono fare. Ma con questo trucco ora puoi bloccare app come Facebook o Hangouts dall'esecuzione in background: funzioneranno solo quando vengono utilizzati attivamente!


Tutorial Limita i processi in background

Requisiti:

  • Dispositivo Android Nougat (7.0 o 7.1).
  1. Installa i driver USB per il tuo particolare OEM del dispositivo (Google fornisce un elenco di alcuni driver USB universali qui).
  2. Scarica il Binario ADB per il tuo particolare sistema operativo (finestre, Mac, Linux). Questi collegamenti punteranno sempre alla versione più recente del binario.
  3. Estrai il contenuto del file ZIP in una cartella facilmente accessibile sul tuo PC.
  4. Vai all'app Impostazioni sul tuo telefono e tocca l'opzione Informazioni sul telefono.
  5. Trova il numero di build e toccalo 7 volte per abilitare la modalità sviluppatore.
  6. Torna al menu principale Impostazioni e accedi alle Opzioni sviluppatore in modo da poter abilitare la modalità debug USB.
  7. Collega il telefono al computer e passa dalla modalità “solo ricarica” alla modalità “trasferimento file (MTP)”. Ciò non è necessario su tutti i dispositivi, ma molti dispositivi lo richiedono come misura di sicurezza prima di consentire il funzionamento di ADB.
  8. Torna al PC e vai alla directory in cui hai estratto il binario ADB.
  9. Avvia un prompt dei comandi o un terminale nella directory ADB. Per gli utenti Windows, questo può essere fatto tenendo premuto Maiusc e facendo clic con il pulsante destro del mouse, quindi selezionando l'opzione "apri prompt dei comandi qui". (Alcuni utenti di Windows 10 potrebbero vedere il "prompt dei comandi" sostituito con "PowerShell".)
  10. Una volta che ti trovi nel prompt dei comandi o nell'ambiente Terminale, inserisci il seguente comando: adb devices
  11. Questo avvierà il demone ADB se non è già stato avviato, aspetta solo che finisca. Se è la prima volta che esegui ADB, vedrai anche un messaggio sul tuo telefono che ti chiede di autorizzare una connessione con il computer. Consenti l'accesso al debug USB qui.
  12. Ora se esegui nuovamente il comando adb devices dal passaggio 10, il prompt dei comandi/terminale stamperà il numero di serie del tuo dispositivo. Se è così, allora sei pronto per andare avanti. In caso contrario, è probabile che i driver USB non siano installati correttamente.
  13. Dovrai quindi trovare il nome del pacchetto per l'applicazione di cui desideri bloccare i processi in background. Puoi farlo installando il file Ispettore dell'app applicazione sul tuo telefono.
  14. Torna al prompt dei comandi e inserisci il seguente comando: adb shell
  15. Ora esegui il comando seguente per liberare i processi in background di un'applicazione: cmd appops set RUN_IN_BACKGROUND ignore
  16. Se desideri annullare la modifica appena apportata e consentire nuovamente i processi in background di un'app, inserisci questo comando: cmd appops set RUN_IN_BACKGROUND allow
  17. Saprai che funziona se ti riporta a un altro prompt della shell ADB e non ti dà un messaggio di errore.

Spiegazione

Il funzionamento esatto di questo comando è che ti consente di limitare un'autorizzazione nascosta che normalmente non è accessibile all'utente nell'app Impostazioni. Questa autorizzazione è chiamata autorizzazione RUN_IN_BACKGROUND e l'unico modo in cui può essere modificata è utilizzare "cmd appops" che è l'interfaccia della riga di comando per "App Ops", il sistema di gestione delle autorizzazioni rivolto agli utenti di Google.

Google ha aggiunto questo comando ADB nascosto che ti consente di impedire a qualsiasi applicazione di ricevere intenti di trasmissione impliciti (ad es. l'app si attiva in background) e impedisce inoltre a tali applicazioni di pianificare servizi in background senza utilizzare JobScheduler (ad es. l'app si attiva in un momento inopportuno, scaricando la batteria). Questo comando in realtà è pensato per essere utilizzato solo dagli sviluppatori che desiderano simulare il funzionamento della loro app in condizioni di memoria insufficiente, ma per fortuna siamo in grado di utilizzarlo per conto nostro.

Rimuovendo le dipendenze dai servizi in background di un'app e dai ricevitori di trasmissione implicita registrati nel manifest, gli sviluppatori possono ottimizzare la propria applicazione per funzionare meglio su dispositivi con memoria ridotta. Google afferma che le applicazioni ottimizzate per questo tipo di dispositivi, o per quelli che hanno poca memoria, possono migliorare sia le prestazioni che l'esperienza dell'utente. Al Google I/O di quest'anno, la società ha annunciato una versione modificata di Android chiamata Android Go, che verrà utilizzato per smartphone con memoria molto ridotta, quindi presumiamo che questo comando possa essere utile per gli sviluppatori che mirano a quella piattaforma.

In ogni caso, questo comando può essere abbastanza utile per l'utente medio, ma fai attenzione a cosa limiti qui. App come Hangouts o Facebook interromperanno completamente la sincronizzazione in background finché non le apri, il che, se questo è ciò a cui miri, sono sicuro che non ti dispiace. Ma non sorprenderti se le tue e-mail o i tuoi messaggi subiscono ritardi se esegui questo comando su un'app che dipende dai ricevitori in background.