Я установил самописное приложение на свой старый телефон Galaxy S9 с Android 10 (Q), которое отлично работало в течение многих лет. Однако вот уже несколько месяцев моему приложению иногда требуется до часа (!), чтобы начать загрузку PDF-файла из Интернета. Иногда я также получаю сообщение об ошибке, например «Невозможно запустить приемник my.app.ReceiverDownladBroadcast. Android.content.Context.getPackagename() имеет нулевую ссылку на объект». Менеджер загрузок выдает предупреждение "Путь кажется недействительным: /storage/emulated/0/Download/dl.pdf", несмотря на разрешение на запись.
Я нашел это несколько раз проблема на StackOverflow:
Запросы DownloadManager задерживаются на Android Pie, DownloadManager имеет огромную задержку при запуске загрузки и т. д., но все предложенные решения (удалить кеш и хранилище из Download Manager и т. д.) не помогли. Кстати, когда я перезагружаю телефон, ожидающий PDF-файл обычно загружается в первые несколько секунд после перезагрузки, но этот подход неприемлем в качестве решения. Кто-нибудь нашел решение моей проблемы в прошлом?
Вот мой код:
...
webView.setWebChromeClient(new WebChromeClient());
webView.loadUrl("https://.../dl.pdf");
...
webView.setDownloadListener(new DownloadListener() {
@Override public void onDownloadStart(String url, String userAgent, String
contentDisposition, String mimetype, long contentLength) {
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "dl.pdf");
DownloadManager downloadManager = (DownloadManager) ActivityMain.this.getSystemService(DOWNLOAD_SERVICE);
downloadManager.enqueue(request);
}
});
Подробнее здесь: https://stackoverflow.com/questions/791 ... ts-delayed
Запросы DownloadManager задерживаются ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение