Risposte:
Titanium Backup ecc. Basta usare la funzione integrata Package Manager (pm)
per bloccare un'app. pm
ha una funzione per impedire l'esecuzione e la visualizzazione delle app in Avvio applicazioni. Per usarlo, Titanium Backup ecc. Eseguire il comando seguente:
pm disable {nome_pacchetto}
Puoi congelare le app da solo senza utilizzare un'app dedicata per il congelatore. Basta usare il comando sopra in Terminal Emulator o ADB Shell
.
Ad esempio, se vuoi congelare Stock Web Browser
, apri Terminal Emulator
e passa al root usando il su
comando. Quindi, esegui # pm disable com.android.browser
.
Tornerà #Package com.android.browser new state: disabled
. Fatto!
Riavvia il tuo Launcher (alcuni dispositivi potrebbero richiedere il riavvio) per vedere l'icona dell'app scomparsa.
Per scongelare l'app, basta sostituirla disable
con enable
nel comando.
pm disable
dice solo "ucciso", quindi il processo si riavvia immediatamente. kill -STOP pid è meglio. Puoi vedere quali sono stati arrestati, in ps
output.
Ho trovato come pm disable
funziona:
Se corri cat /system/bin/pm
, ti dà:
# Script to start "pm" on the device, which has a very rudimentary
# shell.
#
base=/system
export CLASSPATH=$base/framework/pm.jar
exec app_process $base/bin com.android.commands.pm.Pm "$@"
Quindi apparentemente è lo stesso del PackageManager che usiamo da Java, lo sta chiamando - solo in un contesto di root a cui nessuna app utente può accedere direttamente.
È possibile verificare se qualcosa è bloccato, utilizzando
getPackageManager().getApplicationEnabledSetting( the package name ) ==
getPackageManager().COMPONENT_ENABLED_STATE_DISABLED)
Nei sistemi Unix, i file hanno 3 autorizzazioni: lettura, scrittura ed esecuzione.
(Per 3 categorie di persone: il proprietario del file [di solito il suo creatore], un gruppo di persone e tutti gli altri, ma è fuori tema).
Se si rimuove l'autorizzazione di esecuzione del file, non può più essere avviato (eseguito).