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

現(xiàn)在做了一個下載,為了兼容性直接使用Android Sdk 自帶的 DownloadManager 開發(fā),在其他手機上都是OK,只有在有一臺vivo上不行。

我嘗試使用vivo系統(tǒng)瀏覽器去下載這個鏈接,也是OK的,這個排除了網(wǎng)絡問題和系統(tǒng)下載的bug的問題。

嘗試去找錯誤給我返回一個ERROR_UNKNOWN,完全SB了,此路不通。

嘗試換一個鏈接去下載,居然也是OK的,所以確定了是鏈接的問題,鏈接有什么問題?我對比了一下,除了下載失敗鏈接里包含了中括號[],其他也沒有什么不一樣的,所以我嘗試著使用%5B、%5D 替換 [],居然好了。這也太奇葩了吧。。。

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

之后我去Google了一下,搞明白了,原來Android系統(tǒng)在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

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,120評論 25 708
  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,881評論 2 45
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,600評論 19 139
  • 謝謝你,曾經(jīng)的陪伴,朋友! 十三歲那年的相遇, 我知道了你的名字, 一個靈動、頑皮、壞點子層出不窮的靈光蛋。 謝謝...
    葉之秋的心田閱讀 458評論 0 0
  • 1986年,馬科斯政權瓦解,一位瑞士記者考察了塔薩代人并發(fā)現(xiàn)他們居住在房屋中。據(jù)傳他們向這位記者坦白,他們的故事只...
    梁夢婷閱讀 131評論 0 2

友情鏈接更多精彩內(nèi)容