1

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());
    }

}

4

1 に答える 1

0

FWIW - この質問に対する適切な答えは見つかりませんでしたが、ネットワークを修正すると、問題が解決したように見えました。それはまだ時折発生しますが、比較的まれであり、ネットワークに関連しているようです.

于 2013-01-13T16:57:35.940 に答える