بيانات اعتماد APN في Android وNetwork ProxyInfo يخدمان أغراضًا مختلفة
اقرأ إعدادات وكيل الشبكة عبر الواجهات المدعومة في Android، وافصل بيانات اعتماد وصول المشغّل عن حساب وكيل HTTP.
قد يحتاج تطبيق Android إلى عنوان الوكيل الحالي دون أن يملك إعدادات الاتصال. ابدأ بواجهة وكيل الشبكة بدلًا من البحث عن أي عمود في قاعدة البيانات يُسمى user أو password.
يصف إعداد APN الخاص بالهاتف وصول المشغّل. تنتمي حقول الحساب فيه إلى ذلك الإعداد. وهي ليست مخزنًا عامًا لبيانات الاعتماد الخاصة بوكيل HTTP المحدد على Wi-Fi أو على شبكة مُدارة أو على اتصال خاص بتطبيق.
| المعلومة المطلوبة | الإعداد ذو الصلة |
|---|---|
| حساب الوصول إلى بيانات المشغّل | إعدادات APN، مع قيود الوصول التي تفرضها المنصة |
| وكيل HTTP الحالي للشبكة | ConnectivityManager وProxyInfo |
| تسجيل الدخول الذي يطلبه وكيل محدد | تدفق المصادقة الذي يدعمه العميل ومصدر الحساب المعتمد |
على إصدار مدعوم من Android، يعيد ConnectivityManager.getDefaultProxy() معلومات الوكيل المنطبقة. قد تكون النتيجة غائبة. ويمكن أن يصف ProxyInfo نقطة نهاية مباشرة أو إعداد PAC، لذا افحص شكله قبل التعامل مع كل نتيجة كزوج من المضيف والمنفذ.
لا يعرض ProxyInfo زوجًا عامًا من اسم المستخدم وكلمة المرور. إذا كانت الخدمة المختارة تتطلب مصادقة، فاحصل على الحساب المقصود عبر ترتيب بيانات الاعتماد الذي يدعمه التطبيق. وقد يستخدم تحدي الوكيل وتسجيل الدخول لدى المشغّل هويتين مختلفتين تمامًا.
وهذا يفصل أيضًا الاكتشاف عن الاستخدام. لا يصبح مقبس أصلي أو SDK له نقله الخاص مدركًا للوكيل لمجرد أن التطبيق يستطيع قراءة ProxyInfo. سلّم المسار المختار إلى عميل يدعم بروتوكوله وطريقة مصادقته.
تصف الأمثلة الأقدم التي تستعلم مزوّد محتوى الهاتف إصدارات وأذونات معينة من Android. وهي سياق تاريخي مفيد، لكنها لا تستطيع تحويل حساب APN إلى كلمة المرور المفقودة لوكيل غير مرتبط به.