2012-02-09 5 views
2

J'ai besoin d'installer apk par programmation. Je trouve une méthode pour l'installer avec intention: install/uninstall APKs programmatically (PackageManager vs Intents)Android installer apk avec Intention

Intent intent = new Intent(Intent.ACTION_VIEW); 
Uri apkUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/Download/" + "app.apk")); 
intent.setDataAndType(apkUri, "application/vnd.android.package-archive"); 
startActivity(intent); 

Mais, cela ne fonctionne pas. Le problème est l'activité d'installation ne semble pas, au contraire, une liste d'autres programmes est affiché pour le choix:

enter image description here

Quelqu'un pourrait-il me dire quel est le problème? Merci!

Mise à jour:

  1. L'autorisation android.permission.INSTALL_PACKAGES est inclus dans le manifeste.
  2. Je version Android 2.3 en cours d'exécution SDK 10
+0

Quelle est la valeur de "apkUri"? – AnujAroshA

+0

J'ai mis à jour le code pour afficher les détails d'apkUri. – Dagang

+0

Le code @deepak affiché fonctionne. Êtes-vous sûr que le fichier "apk" que vous souhaitez installer se trouve dans le répertoire de téléchargement? Assurez-vous que les deux applications ne contiennent pas les mêmes noms de package. – AnujAroshA

Répondre

4

Peut-être que cela va résoudre votre problème:

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/download/" + "app.apk")), "application/vnd.android.package-archive"); 
startActivity(intent); 
+0

Merci, mais cela ne fonctionne pas. – Dagang

+0

Prenez-vous toutes les autorisations dans votre fichier manifeste –

+0

je viens d'inclure le android.permission.INSTALL_PACKAGES, est-ce suffisant? – Dagang

Questions connexes