アプリを作成しようとしていますが、今のところ解決できない問題がいくつかあります。
私のアプリケーションは、指定された名前の特定の AP に接続し、IP ゲートウェイを表示する必要があります。私がやろうとしているのは、アプリの起動時に、WiFi モジュールが有効になっているかどうかを確認することです。そうでない場合は、有効にして AP に接続します。有効になっている場合は、正しい AP に既に接続されているかどうかを確認し、そうでない場合はそこに接続します。
だから、今のところ私はした:
wifi部分を有効にします。enableWifi() という名前の AlertDialog を介して呼び出される関数です (アプリケーションから WiFi を有効/無効にする方法は? )
WiFi ネットワーク情報を設定し、そこに接続します。また、setupWiFi() という名前の AlertDialog を介して呼び出される関数でもあります ( WPA2 PSK WiFi ネットワークに接続するために Android WifiConfiguration.preSharedKey に設定する方法と対象)
IP ゲートウェイを取得します。setIP() という名前の関数です。これにより、EditText ビューに IP が書き込まれます。(ゲートウェイとサブネット マスクの詳細をプログラムで取得する)
AP に接続するには、次の 2 つの方法があります。
1) Wifi を有効にする -> AP に接続する
2) AP に接続する
ここで問題が発生します。WiFi モジュールを有効にすると、AP への接続を開始するために有効化が完了するまで待ってから、ゲートウェイ IP を取得するために接続が完了するまで待つ必要があります。これらの「待機」部分の実行方法がわかりません。2) の場合にアプリが実行することは、AP に接続し、現在のネットワークのゲートウェイを取得することです。これはまだ古いネットワークであり、必要のないネットワークです。
AsyncTask や Thread などのスレッドを試しましたが、うまくいきませんでした...
読んでくれてありがとう。これが簡単に解決できることを願っています!
敬具、 ラウル・スアレス