Android Oreo (API26) и android.app.DownloadManager

люди! Этот код не работает на Android Oreo (но в более старых версиях я вижу уведомления и широковещательное сообщение DownloadManager.ACTION_DOWNLOAD_COMPLETE).

Котлин

testButton.setOnClickListener { val downloadManager = getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager val uri = Uri.parse("[url for a mp3 file]") val request = DownloadManager.Request(uri) request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI) request.setAllowedOverRoaming(false) request.setTitle("Test mp3") request.setDescription("Wow!") request.setVisibleInDownloadsUi(true) request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE) request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "/GadgetSaint/" + "/" + "Sample" + ".mp3") val reference = downloadManager.enqueue(request) } 

Я обнаружил, что эмуляторы API 26 имитируют сетевые запросы по мобильным данным, поэтому самым простым NETWORK_MOBILE является добавление флага NETWORK_MOBILE (по крайней мере, для отладки DownloadManager ):

 request.setAllowedNetworkTypes(DownloadManager.Request.NETWO‌​RK_WIFI | DownloadManager.Request.NETWORK_MOBILE)