Instalar arquivo .apk sem Intent

Bom dia pessoal.
Estou utilizando o seguinte código para instalar um arquivo .apk no meu aplicativo:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(fileSelecionado), "application/vnd.android.package-archive");
startActivity(intent);

Funciona certinho, mas sempre abre aquela tela de instalação de aplicativo do Android.
Sendo assim, existe alguma forma de instalar aplicativos sem passar por essa Intent?

Obrigado.

Bom, resolvi a questão, mas nesse caso, o root foi necessário.
Para quem tem o mesmo problema, ou quer testar, segue o código:

                                         
						if(extension.equals("apk")){
							Process p;
							try {
								p = Runtime.getRuntime().exec("su");
								DataOutputStream os = new DataOutputStream(p.getOutputStream());
								os.writeBytes("pm install " + fileSelecionado.getPath() + "\n");
								os.writeBytes("exit\n");
								os.flush();
								p.waitFor();
								if(p.exitValue() == 0){
									Log.i("PrincipalActivity", "Root: App instalado.");
								} else {
									Log.i("PrincipalActivity", "Sem root: assistente de instalação");
									intent.setDataAndType(Uri.fromFile(fileSelecionado), "application/vnd.android.package-archive");
									startActivity(intent);
								}
							} catch (Exception e) {
								e.printStackTrace();
							}

Instalar um aplicativo sem o consentimento do usuário iria violar a segurança do Android. Por isso você só consegue com acesso root (é mais ou menos assim que o Titanium Backup faz pra poder instalar os apps na versão Pro).

O app é só para uso pessoal mesmo. Eu vivo trocando de ROM, e estava usando o Astro File Manager pra instalar os aplicativos novamente, e pra todo aplicativo, abre aquele assistente para instalar. Com esse app, eu apenas seleciono os arquivos .apk que quero instalar e deixo ele fazer o resto.
E violando a segurança do sistema, não dá nem pra pensar em publicar isso. :stuck_out_tongue:

[quote=m_araujo01]O app é só para uso pessoal mesmo. Eu vivo trocando de ROM, e estava usando o Astro File Manager pra instalar os aplicativos novamente, e pra todo aplicativo, abre aquele assistente para instalar. Com esse app, eu apenas seleciono os arquivos .apk que quero instalar e deixo ele fazer o resto.
E violando a segurança do sistema, não dá nem pra pensar em publicar isso. :p[/quote]

Você até pode publicar, como seu app vai precisar de acesso root, está subentendido que ele poderá fazer o que quiser no dispositivo. O Titanium Backup Pro faz isso.

O que eu fiz foi um script pra instalar e renomear todos os apks de um diretório pra me organizar, mas depois que comprei o Titanium Backup nem usei mais ele. O código é bem simples:

#!/bin/bash [ -z "$1" ] && { echo """ Usage: $0 FILES... """ exit 1 } for apk in "$@"; do adb install -r "$apk" done

Mas eu ainda sugiro o Titanium Backup Pro. Se você usá-lo e sincronizar com o Dropbox os seus backups, trocar de ROM fica mais fácil do que trocar de roupa.

[quote=Ataxexe][quote=m_araujo01]O app é só para uso pessoal mesmo. Eu vivo trocando de ROM, e estava usando o Astro File Manager pra instalar os aplicativos novamente, e pra todo aplicativo, abre aquele assistente para instalar. Com esse app, eu apenas seleciono os arquivos .apk que quero instalar e deixo ele fazer o resto.
E violando a segurança do sistema, não dá nem pra pensar em publicar isso. :p[/quote]

Você até pode publicar, como seu app vai precisar de acesso root, está subentendido que ele poderá fazer o que quiser no dispositivo. O Titanium Backup Pro faz isso.

O que eu fiz foi um script pra instalar e renomear todos os apks de um diretório pra me organizar, mas depois que comprei o Titanium Backup nem usei mais ele. O código é bem simples:

#!/bin/bash [ -z "$1" ] && { echo """ Usage: $0 FILES... """ exit 1 } for apk in "$@"; do adb install -r "$apk" done

Mas eu ainda sugiro o Titanium Backup Pro. Se você usá-lo e sincronizar com o Dropbox os seus backups, trocar de ROM fica mais fácil do que trocar de roupa.
[/quote]

Hahahahahaha, vou fazer isso então, porque instalar os apps novamente com aquele assistente do Android, além de ser demorado, é um saco. Obrigado pela dica Ataxexe. ;D