Web サーバーのバックグラウンド監視を実行する Android アプリケーションの作成を開始しています。WiFi が有効になっていると、トラフィックがデフォルトでそれを介して転送されるという問題が発生します。HTTP 要求には常に 3G を使用して、外部の可用性も確認したいと思います。このコードを使用して、プログラムで WiFi を無効にできることはわかっています。
WifiManager wifiManager = (WifiManager)getBaseContext().getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(false);
ただし、バックグラウンドで実行されるため、少し扱いにくく、チェックの進行中に WiFi 経由の他の操作が中断されます。Socket Documentationを見ると、これを達成する明白な方法がわかりません。ルート化されていない電話でこれを達成するためのサポートされている方法があるかどうか疑問に思っていますか? 私はサーバーを完全に制御できるので、プロトコルは特に HTTP である必要はありません。