Respostas:
O Titanium Backup etc apenas usa o built-in Package Manager (pm)para congelar um aplicativo. pmtem um recurso para impedir que aplicativos sejam executados e apareçam no Launcher. Para usá-lo, o Titanium Backup etc execute o seguinte comando:
pm desativar {nome_pacote}
Você pode congelar aplicativos sozinho sem usar um aplicativo congelador dedicado. Basta usar o comando acima no Emulador de Terminal ou ADB Shell.
Por exemplo, se você deseja congelar Stock Web Browser, abra Terminal Emulatore mude para root usando o sucomando Então, execute # pm disable com.android.browser.
Vai voltar #Package com.android.browser new state: disabled. Feito!
Reinicie o Launcher (alguns dispositivos podem exigir reinicialização) para ver o ícone do aplicativo desaparecido.
Para descongelar o aplicativo, basta substituir disablepor enableno comando
pm disableapenas diz "matado", e o processo inicia novamente imediatamente. kill -STOP pid é melhor. Você pode ver quais estão parados na pssaída.
Eu descobri como pm disablefunciona:
Se você executar cat /system/bin/pm, ele fornecerá:
# 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 "$@"
Então, aparentemente, é o mesmo que o PackageManager que usamos do Java, está chamando - apenas em um contexto raiz que nenhum aplicativo de usuário pode acessar diretamente.
Você pode verificar se algo está congelado, usando
getPackageManager().getApplicationEnabledSetting( the package name ) ==
getPackageManager().COMPONENT_ENABLED_STATE_DISABLED)
Nos sistemas Unix, os arquivos têm três autorizações: leitura, gravação e execução.
(Para três categorias de pessoas: o proprietário do arquivo [geralmente seu criador], um grupo de pessoas e todos os outros, mas está fora do assunto).
Se você remover a autorização de execução do arquivo, ele não poderá mais ser iniciado (executado).