3
Я пытаюсь загрузить изображения из URL, используя следующий код: -Отменить загрузку в DownloadManager
public static void writeToDisk(Context context, @NonNull String imageUrl, @NonNull String downloadSubfolder) {
Uri imageUri = Uri.parse(imageUrl);
String fileName = imageUri.getPath();
String downloadSubpath = downloadSubfolder + fileName;
DownloadManager downloadManager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
DownloadManager.Request request = new DownloadManager.Request(imageUri);
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
request.setDescription(imageUrl);
request.allowScanningByMediaScanner();
request.setDestinationUri(getDownloadDestination(downloadSubpath));
downloadManager.enqueue(request);
}
Я не могу понять, как отменить загрузку после ее начала.
, когда я пытаюсь сделать это, это дает мне "java.lang.RuntimeException: Произошла ошибка при выполнении doInBackground()" на длинную downloadID = downloadManager.enqueue (запрос); –
@AbhriyaRoy, я не понимаю, почему вам нужно использовать метод «enqueue» в AsyncTask, я думаю, что ошибка появляется оттуда. Если вам действительно нужно, что 1. вы можете передать 'Activity' в конструктор' AsyncTask', тогда вы можете использовать 'Activity.runOnUiThread' или 2. вы можете использовать' new Handler (Looper.getMainLooper) .pose (Runnable. ..) ' – oop