Android کے DownloadManager میں ہر درخواست کے لیے پروکسی سیٹر نہیں ہے
DownloadManager کے عوامی درخواست اختیارات کو ایپ کے اپنے HTTP کلائنٹ سے بننے والے کنکشن سے الگ پہچانیں۔
ایپ کی جانب سے درخواست قطار میں رکھنے کے بعد منتقلی DownloadManager کی ملکیت ہوتی ہے۔ اس کا عوامی Request API ہیڈرز، منزل کی ترتیبات اور نیٹ ورک پابندیاں فراہم کرتا ہے، مگر ہر درخواست کے لیے پروکسی اینڈ پوائنٹ سیٹر نہیں ہے۔
addRequestHeader کے ذریعے Proxy-Authorization شامل کرنا پروکسی ہوسٹ اور پورٹ منتخب کرنے کا متبادل نہیں ہے۔ علیحدہ HTTP کلائنٹ آبجیکٹ کنفیگر کرنا بھی DownloadManager کو پہلے دی گئی درخواست کو تبدیل نہیں کرتا۔
اگر ڈاؤن لوڈ کو معاون ڈیوائس یا نیٹ ورک پروکسی پالیسی کی پیروی کرنی چاہیے تو وہی پالیسی استعمال کریں اور سروس کے اصل راستے کو مدنظر رکھیں۔ اگر ایپ کو اس ایک منتقلی کے لیے مختلف پروکسی منتخب کرنا ہے تو منتقلی کو ایپ کے اپنے کلائنٹ میں دستاویزی پروکسی انٹرفیس کے ساتھ رکھیں، مثلاً Proxy آبجیکٹ سے کھولا گیا URL کنکشن۔
یہ انتخاب ڈاؤن لوڈ کے لائف سائیکل کی ذمہ داری بھی منتقل کرتا ہے۔ مطلوبہ پس منظر شیڈولنگ، پیش رفت، اسٹوریج ہینڈلنگ اور بازیابی رویہ برقرار رکھیں، بجائے اس کے کہ سسٹم کے زیرِ انتظام ڈاؤن لوڈ کو اسکرین کے عارضی لائف سائیکل میں بغیر ٹریک درخواست سے بدل دیں۔