여기 내 문제가 있습니다. Asynctask를 통해 다운로드 관리자 인 텐트를 사용하여 내 서버에서 파일을 다운로드하려고합니다. asynctask 클래스의 doInBackground에 다운로드 관리자 인 텐트가 호출되었고 다운로드가 완료되면 (성공 또는 실패) doinBackground가 부울 값을 반환합니다. 다음은 내 코드다운로드 성공 또는 실패까지 다운로드 관리자의 의도 상태를받는 방법
protected Boolean doInBackground(String... f_url) {
boolean flag = true;
boolean downloading =true;
try{
DownloadManager mManager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
Request mRqRequest = new Request(
Uri.parse("http://"+model.getDownloadURL()));
long idDownLoad=mManager.enqueue(mRqRequest);
DownloadManager.Query query = null;
query = new DownloadManager.Query();
Cursor c = null;
if(query!=null) {
query.setFilterByStatus(DownloadManager.STATUS_FAILED|DownloadManager.STATUS_PAUSED|DownloadManager.STATUS_SUCCESSFUL|
DownloadManager.STATUS_RUNNING|DownloadManager.STATUS_PENDING);
} else {
return flag;
}
c = mManager.query(query);
if(c.moveToFirst()) {
int status =c.getInt(c.getColumnIndex(DownloadManager.COLUMN_STATUS));
while (downloading)
{ Log.i ("FLAG","Downloading");
if (status==DownloadManager.STATUS_SUCCESSFUL)
{ Log.i ("FLAG","done");
downloading = false;
flag=true;
break;
}
if (status==DownloadManager.STATUS_FAILED)
{Log.i ("FLAG","Fail");
downloading = false;
flag=false;
break;
}
c.moveToFirst();
}
}
return flag;
}
catch (Exception e)
{
flag = false;
return flag;
}
}
이다 그러나 DownloadManager 상태 DownloadManager.STATUS_SUCCESSFUL 또는 DownloadManager.STATUS_FAILED에 뛰어하지 않습니다. 나를 도와 주시겠습니까?