android 如何终止异步请求

程序缘LL 2016-03-12 10:35:05
最近在做一个android的项目,里面涉及到一个pdf阅读的功能:我首先把pdf文件下载到本地,我想在下载的过程中终止下载,这要如何实现?
下载的代码在Fragment里面:
private AsyncHttpResponseHandler downHandler = new BinaryHttpResponseHandler(new String[] { "application/pdf"}) {

@Override
public void onSuccess(int statusCode, Header[] headers, byte[] binaryData) {
File file = new File(Constants.PDF_SAVE_PAHT);
if (!file.exists()) {
file.mkdirs();
}
File pdfFile = new File(file, pdfName);
try {
FileOutputStream oStream = new FileOutputStream(pdfFile);
oStream.write(binaryData);
oStream.flush();
oStream.close();

Uri uri = Uri.parse(Environment
.getExternalStorageDirectory().getAbsolutePath()+"/kg/download_pdfs/"+pdfName);
Intent intent = new Intent(getActivity(), MuPDFActivity.class);
intent.setAction(Intent.ACTION_VIEW);
intent.setData(uri);
startActivity(intent);

CourseApi.addRecord(uid, courseUnit.getDocId(), adhandler);
} catch (Exception e) {
e.printStackTrace();
Log.i("hck", e.toString());
}
hideWaitDialog();
}

@Override
public void onFailure(int statusCode, Header[] headers, byte[] binaryData, Throwable error) {
hideWaitDialog();
}
};
...全文
222 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序缘LL 2016-03-15
  • 打赏
  • 举报
回复
谢谢各位的指点,刚看到,在忙另一个项目,完事了我再试试各位的意见
小小爬虾 2016-03-13
  • 打赏
  • 举报
回复
我的思路:把下载做成个服务,用活动控制服务
程序缘LL 2016-03-12
  • 打赏
  • 举报
回复
在下载时有一个WaitDialog弹框 protected WaitDialog showWaitDialog(int resid) { FragmentActivity activity = getActivity(); if (activity instanceof DialogControl) { return ((DialogControl) activity).showWaitDialog(resid); } return null; } 请各位大师帮忙指点
翼德兄 2016-03-12
  • 打赏
  • 举报
回复
http请求还是下载,均以设置标记位isCanceled比较好,线程是没法理想的终止的
中才德创 2016-03-12
  • 打赏
  • 举报
回复
放到线程池里,用线程池关闭它【Executor】
xingzhong128 2016-03-12
  • 打赏
  • 举报
回复
用java的java.util.concurrent.Future.cancel这个功能,把下载专门放到一个线程中执行,如果需要停止下载可以直接cancel,你可以到网上搜一下Executor,Future
程序缘LL 2016-03-12
  • 打赏
  • 举报
回复
自己顶一下,坐等大神解答

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧