Android DownloadManager ERROR_UNKNOWN 在API 17 巨坑完美解决

现在做了一个下载,为了兼容性直接使用Android Sdk 自带的 DownloadManager 开发,在其他手机上都是OK,只有在有一台vivo上不行。

我尝试使用vivo系统浏览器去下载这个链接,也是OK的,这个排除了网络问题和系统下载的bug的问题。

尝试去找错误给我返回一个ERROR_UNKNOWN,完全SB了,此路不通。

尝试换一个链接去下载,居然也是OK的,所以确定了是链接的问题,链接有什么问题?我对比了一下,除了下载失败链接里包含了中括号[],其他也没有什么不一样的,所以我尝试着使用%5B%5D 替换 [],居然好了。这也太奇葩了吧。。。

url = url.replace("[","%5B").replace("]","%5D");

之后我去Google了一下,搞明白了,原来Android系统在18之前有这么一个问题,之后修复了。

最终解决:

if(Build.VERSION.SDK_INT<=Build.VERSION_CODES.JELLY_BEAN_MR2){
            uri = uri.replace("[","%5B").replace("]","%5D");
        }

参考:

http://stackoverflow.com/questions/37976748/downloadmanager-fails-with-error-unknown-on-api-17

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,184评论 25 709
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,757评论 2 45
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,088评论 19 139
  • 谢谢你,曾经的陪伴,朋友! 十三岁那年的相遇, 我知道了你的名字, 一个灵动、顽皮、坏点子层出不穷的灵光蛋。 谢谢...
    叶之秋的心田阅读 3,093评论 0 0
  • 1986年,马科斯政权瓦解,一位瑞士记者考察了塔萨代人并发现他们居住在房屋中。据传他们向这位记者坦白,他们的故事只...
    梁梦婷阅读 1,108评论 0 2

友情链接更多精彩内容