モバイル ネットワークに切り替える:
プロキシを検出するとすぐに、アプリがそのネットワークを使用できないため、モバイル ネットワークに切り替えることをユーザーに通知するダイアログがポップアップ表示されます。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 を使用する方法を確認できます: How do I make HttpURLConnection use a proxy?
「ネットワークの変更」を検出します。
「ネットワークの変化」を検出する方法を知るには、次の投稿を参照してください:
Android、データのポーリング中にネットワークの変更を処理する方法 (GPRS から Wi-fi へ、またはその逆)
アップデート:
ダイアログを表示できない場合は、少なくともステータス バーを送信してNotification
、ユーザーが後でネットワーク スイッチについて知ることができるようにします。