android – DownloadManager双下载

android – DownloadManager双下载,第1张

概述我有以下问题:每当我下载一个带有DownloadManager的文件时,它会被下载两次(以“filename.extension”和“filename-1.extension”的形式保存).这是我的代码: public void download() { Request request = new Request(Uri.parse(_wrapper.getURL())); 我有以下问题:每当我下载一个带有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小消息.我调试了我的应用程序以使shure下载()方法仅被调用一次.我希望你能帮我找到错误.

解决方法 遗憾的是,DownloadManager存在问题,无法在所有设备上正常运行.您的问题在此报告: https://code.google.com/p/android/issues/detail?id=18462 总结

以上是内存溢出为你收集整理的android – DownloadManager双下载全部内容,希望文章能够帮你解决android – DownloadManager双下载所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1126626.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存