Android 使用DownloadManager下載apk失敗問題

一、問題

使用DownloadManager下載App失敗,以往都是好好的,代碼也沒有動過,怎么就下載失敗了呢?

后端從http更換為https

對DownloadManager狀態(tài)的記錄:

打印日志

結果:

E/zlq: bytesDownload:0

E/zlq: descrition:

E/zlq: id:178

E/zlq: localUri:null

E/zlq: mimeType:application/vnd.android.package-archive

E/zlq: title:

E/zlq: status:491

E/zlq: url:https://host/static/app/download/xxx.apk

E/zlq: reason:placeholder

E/zlq: totalSize:-1

最后得到:status:491,既

/**

? ? ? ? * This download has completed with an error.

? ? ? ? * Warning: there will be other status values that indicate errors in

? ? ? ? * the future. Use isStatusError() to capture the entire category.

? ? ? ? */

? ? ? ? public static final int STATUS_UNKNOWN_ERROR = 491;

未知的錯誤狀態(tài),坑了~

二、解決

①懷疑是DownloadManager不支持https

查看源碼:

scheme不是http、https才會拋異常,說明DownloadManager已經可以很好的支持https的下載方式了。

從android4.0開始DownloadManager就已經可以支持https了;看過一篇帖子將DownloadManager改成支持https的方式,不過sdk的版本已經是2.x的了,https://stackoverflow.com/questions/8106155/android-downloadmanager-and-ssl-https,放棄。

②既然兩種方式都支持,而且多個版本迭代以來都未發(fā)生過這樣的問題,所以一直就抱著懷疑后端存在處理的問題。

果然后端下發(fā)的url未http的,當我們訪問http的鏈接時,后端做了一個重定向,既重新轉成https的方式,導致DownloadManager無法正常下載了。

三、最后

在使用DownloadManager做下載時需要注意,直接給物理地址,不要有任何的重定向,否則無法正常下載。

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

相關閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,781評論 25 709
  • 一. DownloadManager簡單介紹 DownloadManger是android 2.3(api lev...
    jiaming_閱讀 47,559評論 9 47
  • 故事有很多種,有的情節(jié)跌宕,愛恨分明,有的則是緩如溪水,樸實真切。前者讓人陶醉于江湖情仇的紛繁復雜,后者讓人沉靜在...
    昭陽2017閱讀 1,160評論 5 13
  • 知道你喜歡 我樂觀的樣子 知道你喜歡 我自在逍遙的樣子 知道你喜歡 …… 憂郁的樣子 才是我想你的樣子
    亦柔閱讀 267評論 0 0

友情鏈接更多精彩內容