Ich möchte gerne meine App in Zukunft über einen Button updaten, wenn ich eine neue Version dieser App auf meinen FTP server lade.
Das ganze habe ich mit einem Downloadmanager probiert. Hier habe ich jedoch das Problem, dass er die APK vom FTP-Server zwar runterlädt, jedoch nicht am Smartphone speichert. Anscheinend ist sie nach dem download nur temporär da und das Smartphone erkennt sie auch nicht als eine .apk Datei. Das Smartphone schlägt mir verschiedene Apps vor (Chrome, HTML-Anzeige, Word,...) um diese heruntergeladene Datei zu öffnen, jedoch ist es mir nicht möglich die heruntergeladene APK Datei als solche zu Installieren. Vielleicht kann mir jemand helfen, was da genau der Fehler ist bzw. hat jemand eine bessere Lösung um vielleicht so etwas wie einen Check durchzuführen, ob eine neuere Version der APK auf dem FTP-Server vorhanden ist ?
Das ganze habe ich mit einem Downloadmanager probiert. Hier habe ich jedoch das Problem, dass er die APK vom FTP-Server zwar runterlädt, jedoch nicht am Smartphone speichert. Anscheinend ist sie nach dem download nur temporär da und das Smartphone erkennt sie auch nicht als eine .apk Datei. Das Smartphone schlägt mir verschiedene Apps vor (Chrome, HTML-Anzeige, Word,...) um diese heruntergeladene Datei zu öffnen, jedoch ist es mir nicht möglich die heruntergeladene APK Datei als solche zu Installieren. Vielleicht kann mir jemand helfen, was da genau der Fehler ist bzw. hat jemand eine bessere Lösung um vielleicht so etwas wie einen Check durchzuführen, ob eine neuere Version der APK auf dem FTP-Server vorhanden ist ?
Java:
downloadButton = (Button) findViewById(R.id.btn_update);
downloadButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
downloadManager = (DownloadManager)getSystemService(Context.DOWNLOAD_SERVICE);
Uri uri = Uri.parse("http://meinftpserver/update.apk");
DownloadManager.Request request = new DownloadManager.Request(uri);
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE).setAllowedOverRoaming(true);
request.setAllowedOverRoaming(false);
//show on navigation
request.setVisibleInDownloadsUi(true);
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE);
//file open when item on navigation is clicked
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
//name to show while downloading
request.setTitle("Update");
//description to show while downloading
request.setDescription("Downloading " + "Update");
Long reference = downloadManager.enqueue(request);
}
});