Se os aplicativos forem instalados silenciosamente (sem a caixa de diálogo de instalação usual), presumivelmente, esses aplicativos serão chamados diretamente pm
, ou seja PackageManager
, que como aplicativo do sistema tem a permissão android.permission.INSTALL_PACKAGES
.
O telefone precisa estar enraizado para que o aplicativo possa chamar pm
em um contexto raiz; caso contrário, você será recebido com a mensagem "Nem o usuário xxxx nem o processo atual tem android.permission.INSTALL_PACKAGES".
EDIT: Como o @Izzy apontou no comentário, android.permission.INSTALL_PACKAGES
também é concedido aos aplicativos instalados no /system
. Veja o comentário abaixo e esta pergunta para mais informações.