如何检查文件是否在下载管理器队列中?

suk*_*uku 4 android android-download-manager

用户必须下载多个文件,这些文件将通过单击按钮开始。该代码将检查文件是否已存在,如果不存在,则将其添加到下载队列中。我正在将所有不存在的文件添加到下载队列中。

但是,如果用户立即再次单击该按钮,文件将重新添加到下载队列中。那么如何检查文件是否添加到下载管理器队列中呢?如果添加,则不会重新添加该文件。

Jay*_*nth 5

你应该使用 DownloadManager.Query

这是示例,您可以参考下载管理器示例

示例代码

DownloadManager.Query query = null;
Cursor c = null;
DownloadManager downloadManager = null;
downloadManager = (DownloadManager)getSystemService(Context.DOWNLOAD_SERVICE);
query = new DownloadManager.Query();
 if(query!=null) {
            query.setFilterByStatus(DownloadManager.STATUS_FAILED|DownloadManager.STATUS_PAUSED|DownloadManager.STATUS_SUCCESSFUL|
                    DownloadManager.STATUS_RUNNING|DownloadManager.STATUS_PENDING);
        } else {
            return;
        }
c = downloadManager.query(query);
if(c.moveToFirst()) { 
int status = c.getInt(c.getColumnIndex(DownloadManager.COLUMN_STATUS)); 
switch(status) { 
case DownloadManager.STATUS_PAUSED: 
break; 
case DownloadManager.STATUS_PENDING: 
break; 
case DownloadManager.STATUS_RUNNING: 
break; 
case DownloadManager.STATUS_SUCCESSFUL: 
break;  
}
}
Run Code Online (Sandbox Code Playgroud)