0

アプリを開くときにネットワーク接続を実行し、閉じるときにネットワークを切断して削除するAndroidアプリがあります。デバイスが最初に3Gであった場合、アプリを開いて閉じると、正しい接続/切断アクションが実行されます。

デバイスが最初に WiFi に接続されていた場合、アプリを開くとネットワークに接続されますが、アプリを閉じるとネットワークから切断され、デバイスは 3G にフォールバックします。

基本的に、アプリを開く前にデバイスがオンになっていた WiFi にフォールバックする必要があります。また、アプリは、デバイスが最初にオンになっていた WiFi を切断/削除しません。

以下は、切断を実行するサンプル コードです。

            // remove the configuration (and disconnect, if connected)
            Log.i(TAG, "removing app network = " + ssid);
            boolean b = wifi.removeNetwork(wc.networkId);
            assert (b);

           // Enable the original WiFi that the device 
            String deviceInitialSSID = "TEST_WLAN";  
            previousNetId = wc.networkId;

            wifi.setWifiEnabled(true);
            wifi.enableNetwork(previousNetId, true);

上記のコードはonStop()アプリ内で実行されます。ネットワークを有効にする呼び出しは true を返しますが、実際にはデバイス上の以前の WiFi は有効になりません。

ご意見をお聞かせください。前もって感謝します..

4

0 に答える 0