2013-08-20 14 views
5

I apk-Datei mit Download-Manager api heruntergeladen haben, und ich weiß nicht, wo diese Datei ist storing.now i, dass die apk-Datei finden müssen und installieren es einen Hinweis geben. Vielen Dank im Vorausinstallieren apk-Datei automatisch nach dem Download

+0

haben Sie nicht den Speicherort angegeben. – Prakhar

+0

Mögliche Duplikate von [Android: install .apk programmatisch] (http://stackoverflow.com/questions/4967669/android-install-apk-programmatically) – jk2K

Antwort

5

diesen Code einem apk Gebrauch installieren:

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

Danke für die Antwort Prakhar – Uday

+1

dann upvote oder akzeptieren .. – Prakhar

+0

Hallo, wo sollte Ich habe Apk-Datei? –

3

die Datei automatisch nach dem Download zu installieren, müssen Sie das Gerät erklären, sagen diese Aktion nach dem Download von Rundfunk dieser Meldung nach auszuführen herunterladen:

registerReceiver(onComplete, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)); 

und auf dem Handler:

BroadcastReceiver onComplete=new BroadcastReceiver() { 
public void onReceive(Context ctxt, Intent intent) { 

    long id = intent.getExtras().getLong(DownloadManager.EXTRA_DOWNLOAD_ID); 
    DownloadManager dm =(DownloadManager)getSystemService(DOWNLOAD_SERVICE); 
    intent = new Intent(Intent.ACTION_VIEW); 
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    intent.setDataAndType(dm.getUriForDownloadedFile(id), 
    dm.getMimeTypeForDownloadedFile(id)); 
    startActivity(intent); 
} 
}; 
+0

@Adb EI-Rahman, ich habe eine Änderung vorgenommen, wie Sie gesagt haben, aber ich bekomme nicht, was ich für "Dateiname" angegeben habe, weil ich nicht weiß, wo diese Datei nach dem Download gespeichert wird. – Uday

+0

@Uday versuchen Sie diesen Code nach den Bearbeitungen..Es sollte funktionieren –

+0

@Adb EI-Rahman Ich legte den Code, was Sie angegeben haben, aber es zeigt Fehler "Die Methode getUriForDownloadedFile (long) ist nicht definiert für den Typ DownloadManager." :( – Uday

0

@Uday, @Adb Der Code von El-Rahman funktioniert. Wenn Sie den Download initialisieren, müssen Sie das Ziel-URI festlegen.

String sAndroidUrl = "http://somesite.com/Install.apk"; 

dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); 
Request request = new Request(Uri.parse(sAndroidUrl)); 
String sDest = "file://" + android.os.Environment.getExternalStorageDirectory().toString() + "/Download/Install.apk"; 
request.setDestinationUri(Uri.parse(sDest)); 
enqueue = dm.enqueue(request); 
+0

wo gebe ich diesen Code? – hariszaman

Verwandte Themen