~ 3GB 파일을 사용자가 지정한 위치에 다운로드 할 수 있어야하는 응용 프로그램이 있습니다. 현재 아래 코드가 있는데, 작동하는 것으로 보입니다. 즉 다운로드가 다운로드 관리자에서 표시됩니다.DownloadManager를 사용하여 응용 프로그램 내에서 특정 디렉토리에 큰 파일을 다운로드
그러나 다운로드가 완료되면 올바른 위치에 나타나지 않으며 공간이 전혀 사용되지 않습니다.
이 내 현재 코드입니다 :
이public void file_download(String uRl) {
install_txt = AppPreferences.getPrefs().getString(
"path",
Environment.getExternalStorageDirectory().getPath()
+ "/test.img");
DownloadManager mgr = (DownloadManager) this.getSystemService(Context.DOWNLOAD_SERVICE);
Uri downloadUri = Uri.parse(uRl);
DownloadManager.Request request = new DownloadManager.Request(
downloadUri);
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI)
.setAllowedOverRoaming(false).setTitle("test")
.setDescription("Downloading test")
.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS , install_txt);
mgr.enqueue(request);
}
그래서 제 질문은 정말 왜 위가 잘 작동하지 않습니다입니까? 또는 다운로드 관리자가 그러한 대용량 파일을 다운로드하는 데 어려움이 있습니까? 그 경우는 다운로드가 아래 그 오류 메시지가 DownloadManager
제안했다
07-19 13:19:28.112: W/DownloadManager(19199): Exception for id 8952: Invalid int: "3891000000"
07-19 13:19:28.112: W/DownloadManager(19199): java.lang.NumberFormatException: Invalid int: "3891000000"
07-19 13:19:28.112: W/DownloadManager(19199): at java.lang.Integer.invalidInt(Integer.java:138)
07-19 13:19:28.112: W/DownloadManager(19199): at java.lang.Integer.parse(Integer.java:378)
07-19 13:19:28.112: W/DownloadManager(19199): at java.lang.Integer.parseInt(Integer.java:366)
07-19 13:19:28.112: W/DownloadManager(19199): at java.lang.Integer.parseInt(Integer.java:332)
07-19 13:19:28.112: W/DownloadManager(19199): at com.android.providers.downloads.DownloadThread.handleEndOfStream(DownloadThread.java:516)
07-19 13:19:28.112: W/DownloadManager(19199): at com.android.providers.downloads.DownloadThread.transferData(DownloadThread.java:314)
07-19 13:19:28.112: W/DownloadManager(19199): at com.android.providers.downloads.DownloadThread.executeDownload(DownloadThread.java:278)
07-19 13:19:28.112: W/DownloadManager(19199): at com.android.providers.downloads.DownloadThread.runInternal(DownloadThread.java:193)
07-19 13:19:28.112: W/DownloadManager(19199): at com.android.providers.downloads.DownloadThread.run(DownloadThread.java:142)
작은 파일이 제대로 작동합니까? 합리적으로 큰 파일에 문제가있는 것은 확실합니까? –
@KenWolf 예 작은 파일이 제대로 작동하는 것 같습니다. –
감사합니다. 기기에 충분한 공간이 있습니까? –