アプリがリクエストをキューに入れた後、転送は DownloadManager が所有する。公開 Request API はヘッダー、保存先設定、ネットワーク制限を提供するが、リクエストごとのプロキシエンドポイント設定はない。

addRequestHeader で Proxy-Authorization を追加しても、プロキシのホストとポートの選択を置き換えることにはならない。別の HTTP クライアントオブジェクトを設定しても、すでに DownloadManager に渡したリクエストは変わらない。

ダウンロードが端末またはネットワークのサポートされたプロキシポリシーに従うべきなら、そのポリシーを使い、サービスの実際の経路を考慮する。この 1 回の転送に別のプロキシを選ぶ必要があるなら、文書化されたプロキシインターフェースを持つアプリ所有のクライアントで転送を維持する。たとえば Proxy オブジェクトで開いた URL 接続である。

その選択はダウンロードのライフサイクルの責任も移す。必要なバックグラウンドスケジューリング、進捗、ストレージ処理、復元動作を保つこと。システム管理のダウンロードを、画面の一時的なライフサイクル上の追跡されないリクエストに置き換えてはならない。

関連記事