gpt4 book ai didi

android - 如何使用 DownloadManager 停止 android 中的文件下载?

转载 作者:太空狗 更新时间:2023-10-29 15:41:51 25 4
gpt4 key购买 nike

我从SD卡读取文件,并显示在Gridview上。

当我从 Gridview 中选择项目并获取项目的 position 时。

我点击下载按钮,它将下载该项目。

如何在使用 downloadManager 时停止项目下载?

下载按钮的代码如下:

FileNode file = mFileList.get(temp_position) ;//Get the item I have select from Gridview

final String filename = file.mName.substring(file.mName.lastIndexOf("/") + 1) ;
final String urlString = "http://" + mIp + file.mName ;

String serviceString = Context.DOWNLOAD_SERVICE ;
DownloadManager downloadManager ;
downloadManager = (DownloadManager) getActivity().getSystemService(
serviceString) ;

Uri uri = Uri.parse(urlString) ;
DownloadManager.Request request = new Request(uri) ;
request.setTitle(filename) ;
request.setDescription(urlString) ;

String ext = filename.substring(filename.lastIndexOf(".") + 1)
.toLowerCase(Locale.US) ;
String mimeType = MimeTypeMap.getSingleton()
.getMimeTypeFromExtension(ext) ;

Log.i("MIME", ext + " ==> " + mimeType) ;

if (mimeType != null) {
request.setMimeType(mimeType) ;
}
request.allowScanningByMediaScanner() ;

request.setNotificationVisibility(Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED) ;

request.setDestinationInExternalPublicDir(MainActivity.sAppName, filename) ;

downloadManager.enqueue(request) ;

如何在下载文件时停止项目下载?

最佳答案

DownloadManager#enqueue返回一个 long 表示正在下载的 id。将该 long 保存在一个变量中。

然后,如果您需要取消下载,请调用DownloadManager#remove()通过那么久。

例如

//start a download
long id = downloadManager.enqueue(request);

//stop a download
downloadManager.remove(id);

关于android - 如何使用 DownloadManager 停止 android 中的文件下载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20929686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com