<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
private long enqueue; // 두개는 onCreate 상단에
private DownloadManager dm;
String ready_filename = "test.mp3"
dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
DownloadManager.Request request = new DownloadManager.Request(Uri.parse("http://sysdocu.tistory.com/" + load_ID + "/" + ready_filename));
request.setTitle(ready_filename); // 다운로드 제목
request.setDescription("다운로드 중.."); // 다운로드 설명
request.setNotificationVisibility(1); // 상단바에 완료 결과 놔둠. 0 은 안뜸
enqueue = dm.enqueue(request);
break;
==========================================
경우에 맞게 아래 내용 추가
1. 어플리케이션 설치 디렉토리 내부에 저장할 경우 (예 : /Android/data/com.tistory.sysdocu/files/Download/)
request.setDestinationInExternalFilesDir(WebViewActivity.this, Environment.DIRECTORY_DOWNLOADS, ready_filename);
2. 공용 다운로드 디렉토리에 저장할 경우 (/storage/emulated/0/Download/)
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, ready_filename);
* 공용 다운로드 디렉토리에 저장할 경우 퍼미션을 획득해야 하므로 아래 코드를 추가로 삽입합니다.
WebViewActivity.java 에서 (onCreate 내부에 작성)
// 공용 디렉토리에 파일을 저장하기 위한 선작업
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
int PERMISSION_REQUEST_CODE = 1;
if (ContextCompat.checkSelfPermission(WebViewActivity.this,
Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(WebViewActivity.this,
Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
} else {
ActivityCompat.requestPermissions(WebViewActivity.this,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
PERMISSION_REQUEST_CODE);
}
}
}