DownloadManager からダウンロードしようとしています。正常に呼び出しており、正常に初期化されているようです。「music」ディレクトリにファイルが作成され、少し大きくなり始めていることがわかります。約 3 ~ 4 MB になると、ダウンロードはキャンセルされ、「ダウンロードできませんでした」と表示されます。これは、遅いソースからダウンロードしているためかもしれませんが、確実に利用できます。この終了/タイムアウトを回避する方法についてのアイデア。以下は私が使用している機能です。
大事な場合です。私は非同期メソッドからこれを呼び出しており、20 個 (またはそれくらい) の mp3 ファイルのダウンロードを開始するマップをループしています。
ありがとう、クレイグ
private void download(String strUrl, String fileName){
try {
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(strUrl));
request.setDescription(strUrl);
request.setTitle(fileName);request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_MUSIC,fileName);
// get download service and enqueue file
DownloadManager manager = (DownloadManager) ctx.getSystemService(Context.DOWNLOAD_SERVICE);
manager.enqueue(request);
} catch (Exception e) {
e.printStackTrace();
Log.i("ERROR: ", e.getCause().getMessage());
}
}