247 votes

Installez l’Application par programme sur Android

Je suis intéressé de savoir si c’est possible d’installer par programme un apk dynamiquement téléchargé depuis une application Android personnalisée.

254voto

Lie Ryan Points 24517

Vous pouvez facilement lancer un marché de lien ou une invite pour l'installation:

Intent promptInstall = new Intent(Intent.ACTION_VIEW)
    .setDataAndType(Uri.parse("file:///path/to/your.apk"), 
                    "application/vnd.android.package-archive");
startActivity(promptInstall); 

source

Intent goToMarket = new Intent(Intent.ACTION_VIEW)
    .setData(Uri.parse("market://details?id=com.package.name"));
startActivity(goToMarket);

source

Cependant, vous ne pouvez pas installer .apk sans l' autorisation explicite; non, sauf si l'appareil et votre programme est enracinée.

56voto

Horaceman Points 525
<pre><code></code><p></pre>

33voto

Alkersan Points 761

Eh bien, j’ai creusés sources plus profondes et a trouvé des PackageInstaller application de Source Android.

https://github.com/Android/platform_packages_apps_packageinstaller

Du manifeste, j’ai trouvé qu’il nécessite l’autorisation :

Et le processus d’installation s’effectue après confirmation

3voto

Oui c'est possible. Mais pour cela vous avez besoin du téléphone pour installer les sources non vérifiées. Par exemple, slideMe. Je pense que la meilleure chose que vous pouvez faire est de vérifier si la demande est présente et envoyer une intention de l'Android Market. vous devriez utiliser quelque chose que le schéma d'url pour l'android Market.

market://details?id=package.name

Je ne sais pas exactement comment démarrer l'activité, mais si vous commencez une activité avec ce type d'url. Il devrait ouvrir le marché android et vous donner le choix d'installer l'application.

2voto

IronBlossom Points 1153

Juste une extension, si quelqu'un avez besoin d’une bibliothèque puis ce pourrait aider. Grâce à la RAM

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X