Облікові дані 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 на відсутній пароль для не пов'язаного проксі.