Я хочу использовать DownloadManager на Android 10 для загрузки файлов, и появится панель уведомлений о ходе загрузки.
Я использую следующий код, который обычно можно использовать на устройствах с Android 9 но не в эмуляторе Android 10 (не появляется сообщение об ошибке исключения). Панель уведомлений о ходе загрузки не отображается на панели уведомлений, но я заметил, что этот файл появился в приложении «Файлы» системы и не был загружен, поскольку его необработанный размер (в байтах) всегда равен -1.
Как я могу изменить свой код, чтобы его можно было использовать на Android 10, большое спасибо!
var request = DownloadManager.Request(Uri.parse(downloadUrl))
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, saveName)
} else {
request.setDestinationInExternalFilesDir(context, Environment.DIRECTORY_DOWNLOADS, saveName)
}
request.setAllowedNetworkTypes(
DownloadManager.Request.NETWORK_MOBILE or DownloadManager.Request.NETWORK_WIFI
)
request.setNotificationVisibility(
DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED
)
request.setTitle("TEST")
request.setDescription("TEST")
downloadManager.enqueue(request)
Снимок экрана системного приложения "Файл"
Снимок экрана системного приложения "Файл" 2