Ответ 1
Перейти к мобильной сети:
Как только вы обнаружите прокси-сервер, вы откроете диалоговое окно с сообщением пользователю о том, что ваше приложение не может использовать эту сеть и, следовательно, вы переключаетесь на мобильную сеть. Вы можете переключиться на мобильную сеть, используя класс ConnectivityManager
.
ConnectivityManager cm;
cm = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
cm.setNetworkPreference(ConnectivityManager.TYPE_MOBILE);
и вернитесь к умолчанию, когда вы закончите:
cm.setNetworkPreference(ConnectivityManager.DEFAULT_NETWORK_PREFERENCE);
Обнаружение прокси:
Обнаружение прокси с помощью следующего фрагмента
HttpURLConnection conn;
...
if (conn.getResponseCode() == HTTP_PROXY_AUTH){
// You got a '407: Proxy authentication required' response.
// Set the networkPreference() here and retry when
// network connection changes to TYPE_MOBILE.
}
Вы можете проверить это сообщение, чтобы узнать, как использовать HttpURLConnection через прокси: Как мне сделать HttpURLConnection использовать прокси?
Обнаружение "изменения сети":
Чтобы узнать, как обнаружить "изменение сети", см. этот пост: Android, Как обрабатывать изменения в сети (от GPRS до Wi-Fi и наоборот) при опросе данных
Обновление:
Если вы не можете показать диалог, по крайней мере, отправьте строку состояния Notification
, чтобы пользователь узнал о сетевом коммутаторе через некоторое время.