2
Ich verwende den Android-Download-Manager in meiner App. Wie kann ich auf den Fortschritt des Downloads (wie der Prozentsatz des Downloads in der Benachrichtigung) zugreifen, um diesen Prozentsatz in meiner Fortschrittsleiste innerhalb der Aktivität anzuzeigen?Wie kann ich auf den Prozentsatz des Android Download-Managers zugreifen?
Dies ist meine Methode, die die Datei herunterlädt:
////////////////////////////////////////////////////////////
//================== btn download set on click listner ===========
////////////////////////////////////////////////////////////
holder.btnDownload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dm = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
Uri downloadUri = Uri.parse(questionha.get(position).getQuestionDownLink());
if (!Uri.EMPTY.equals(downloadUri)) {
Request request = new Request(downloadUri);
request.setTitle(questionha.get(position).getQuestionTitle());
request.setDescription("Downloading ....");
request.setDestinationInExternalFilesDir(v.getContext(), "downloaded", questionha.get(position).getQuestionDownFileName());
enqueue = dm.enqueue(request);
}else {
Log.i("Download manager","Download manager url is null !");
}
}
});
den Fortschritt Abfragen in einer engen Schleife falsch anfühlt. –
aber dieser Code funktioniert für mich und aktualisieren Sie die Fortschrittsleiste, was denken Sie? – majid
Ich denke, dass Sie Batterie wahrscheinlich nicht verschwenden, weil Sie diesen Wert ständig überprüfen. Ich weiß nicht, ob das ein Ereignis ist, auf das du hören kannst oder auf andere Weise, aber zumindest würdest du ein bisschen warten wollen, nachdem du die Datenbank abgefragt hast, bis du es wieder tust. –