gpt4 book ai didi

android - DownloadManager 双下载

转载 作者:太空宇宙 更新时间:2023-11-03 10:26:37 27 4
gpt4 key购买 nike

我遇到以下问题:每当我使用 DownloadManager 下载文件时,它都会被下载两次(以“filename.extension”和“filename-1.extension”的形式保存)。这是我的代码:

public void download() {
Request request = new Request(Uri.parse(_wrapper.getURL()));
request.setTitle(getFileName(_wrapper.getURL()));
request.setVisibleInDownloadsUi(false);
request.setDestinationInExternalFilesDir(_context, null, "/" + getFileName(_wrapper.getURL()));

_downloadID = _downloadManager.enqueue(request);
}



public BroadcastReceiver getDownloadFinishedBroadcastReceiver() {
BroadcastReceiver receiver = new BroadcastReceiver() {

@Override
public void onReceive(Context pContext, Intent pIntent) {
String action = pIntent.getAction();
if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(action)) {
Query query = new Query();
query.setFilterById(_downloadID);
Cursor cursor = _downloadManager.query(query);
if (cursor.moveToFirst()) {
File file = new File(ScruloidConstants.APPLICATION_DIRECTORY);
int status = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS));
if (status == DownloadManager.STATUS_SUCCESSFUL) {
String path = cursor.getString(cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_FILENAME));
_wrapper.setFilePath(path);
_wrapper.setLastDownloaded(new Date());
if (_listener != null) {
_listener.onDownloadProjectTaskFinished(new TaskResult<ProjectWrapper>(_wrapper));
}
}
else if (status == DownloadManager.STATUS_FAILED) {
int reason = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_REASON));
DownloadFailedException ex = new DownloadFailedException(reason);
if (_listener != null) {
_listener.onDownloadProjectTaskFinished(new TaskResult<ProjectWrapper>(ex));
}
}
}
}
}
};
return receiver;
}

ProjectWrapper _wrapper 只是一个保存数据的简单类,那里没有执行任何逻辑。 _listener 只是在回调方法上显示一点 Toast 消息。我调试了我的应用程序以确保 download() 方法仅被调用一次。我希望你能帮我找到错误。

最佳答案

不幸的是,DownloadManager 存在问题并且无法在所有设备上正常工作。您的问题已在此处报告:https://code.google.com/p/android/issues/detail?id=18462

关于android - DownloadManager 双下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11448180/

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