앱이 요청을 대기열에 넣은 뒤에는 DownloadManager가 전송을 소유한다. 공개 Request API는 헤더, 대상 설정, 네트워크 제한을 제공하지만 요청별 프록시 엔드포인트 설정은 없다.

addRequestHeader로 Proxy-Authorization을 추가하는 것은 프록시 호스트와 포트를 선택하는 대체 수단이 아니다. 별도의 HTTP 클라이언트 객체를 구성해도 이미 DownloadManager에 넘긴 요청은 바뀌지 않는다.

다운로드가 기기나 네트워크의 지원되는 프록시 정책을 따라야 한다면 그 정책을 사용하고 서비스의 실제 경로를 고려한다. 이 한 번의 전송에 다른 프록시를 선택해야 한다면, 문서화된 프록시 인터페이스를 가진 앱 소유 클라이언트에서 전송을 유지한다. 예를 들어 Proxy 객체로 연 URL 연결이 있다.

그 선택은 다운로드 수명 주기에 대한 책임도 넘긴다. 필요한 백그라운드 예약, 진행률, 저장소 처리, 복구 동작을 유지하고, 시스템이 관리하는 다운로드를 화면의 임시 수명 주기에서 추적되지 않는 요청으로 대체하지 않는다.

관련 글