当我尝试在我的nexus 5上运行以下代码时,它会显示一个进度条并实际下载该文件。
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.setDescription("");
request.setTitle("");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
}
DownloadManager manager = (DownloadManager) getSystemService(Environment.DIRECTORY_MUSIC);
manager.enqueue(request);
}
但是当我在lg g2或lg g3上尝试同样的事情时,文件甚至没有开始下载,我在开始后就收到了这条消息。
我认为问题是lg手机有不同的音乐目录而Environment.DIRECTORY_MUSIC
给我一个空目录。如果这是问题,是否有人知道如何为所有设备获取正确的目录?如果没有,是否有人知道问题是什么,我如何解决?
答案 0 :(得分:0)
看起来您将错误的名字传递给getSystemService()
来电:
(DownloadManager) getSystemService( Environment.DIRECTORY_MUSIC );
应该是这样的:
(DownloadManager) getSystemService( DOWNLOAD_SERVICE );