首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 2.3 DownloadManager 不支援 FTP 協定的說明

     編輯:程式設計綜合問答

問題背景

嘗試使用 Android 2.3 (API 9) 引入的 DownloadManager 下載 FTP 檔案,但完全無法運作。

核心結論

DownloadManager 僅支援 HTTP/HTTPS 協定,不支援 FTP。

錯誤訊息

嘗試下載 FTP URI 時會拋出:

java.lang.IllegalArgumentException: Can only download HTTP URIs
// 或
java.lang.IllegalArgumentException: Can only download HTTP/HTTPS URIs

替代方案

  1. 使用 HTTP 伺服器:在伺服器端架設 HTTP/HTTPS 下載服務(如 Nginx、Apache、Tomcat)。
  2. 自行實作 FTP 下載:使用 FTPClient (Apache Commons Net) 或 URLConnection 搭配 FTP 協定處理器,在背景執行緒/Service 中下載並回報進度。
  3. 第三方庫:如 PRDownloader、Downloader 等支援多協定的下載庫。

版本補充

Android 4.0 (ICS, API 14) 以上 DownloadManager 明確限制僅 HTTP/HTTPS,舊版本行為一致。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved