<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
package kr.seon.downloadmanagertest;
import android.app.DownloadManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
public class DownloadMangerTest extends AppCompatActivity {
DownloadManager mDm;
long mId = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_download_manger_test);
mDm = (DownloadManager)getSystemService(Context.DOWNLOAD_SERVICE);
}
public void mOnClick(View v) {
switch (v.getId()) {
case R.id.btnqueue:
Uri uri = Uri.parse("http://www.seon.kr/data/child2.jpg");
DownloadManager.Request req = new DownloadManager.Request(uri);
req.setTitle("테스트 다운로드");
req.setDescription("이미지 파일을 다운로드 받습니다.");
req.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE);
mId = mDm.enqueue(req);
IntentFilter filter = new IntentFilter();
filter.addAction(DownloadManager.ACTION_DOWNLOAD_COMPLETE);
registerReceiver(mDownComplete, filter);
break;
}
}
public void onPause() {
super.onPause();
if (mId != 0) {
unregisterReceiver(mDownComplete);
mId = 0;
}
}
BroadcastReceiver mDownComplete = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "다운로드 완료", Toast.LENGTH_LONG).show();
}
};
}
안녕하세요 개발자 선생님들.. 어플에 대한 관심과 흥미가 전부가 된 20대 학생입니다.
위에 올린 다운로드매니저 기본 예제에서 저장경로가 sd쪽으로 되있는데
저장경로를 혹시 내장메모리로 바꾸는 방법이 뭘까요.. 노트5로 실험해보는데 노트5는 sd카드가 존재하지 않더군요.. 도와주십시요!!!