0

私はアンドロイド開発者です。WiFi 設定で問題が発生しています。誰かが私のアプリケーションを開いたときに WiFi に接続する必要があります。ユーザーは WiFi を構成する必要があり、そのアプリが続行された後にのみ実行されます。私は最寄りのネットワークのリストを提供し、ユーザーは既知のネットワークを選択する必要があります。ユーザーは、選択したネットワークのパスワードを入力する必要があります。ユーザーが有効な/正しいパスワードを入力して WiFi 接続を有効にしたかどうかを確認するにはどうすればよいですか。

私を案内してください。

前もって感謝します。

4

2 に答える 2

0

良い質問。定義された AP に接続してみて、結果を確認してください。

WifiConfiguration wc = new WifiConfiguration();
...
   // If password is empty, it should be left untouched
        if (!TextUtils.isEmpty(pswd)) {
            if (pswd.length() == 64) {
                // Goes unquoted as hex
                wc.preSharedKey = pswd;
            } else {
                // Goes quoted as ASCII
                wc.preSharedKey = TextUtil.convertToQuotedString(pswd);
            }
        }



int res = -1;

res = m_WifiManager.addNetwork(wc);

boolean b = m_WifiManager.enableNetwork(res, true);      

        if(b == true){

            fixSupplicant();

            m_WifiManager.saveConfiguration();

            //success
        }
        else{           
            //failed
 ....






 private void fixSupplicant() {
    final SupplicantState state = m_WifiManager.getConnectionInfo().getSupplicantState();
    boolean isReconnectDone = false;

    if ((state == SupplicantState.SCANNING)
            || (state == SupplicantState.DISCONNECTED) 
            || (state == SupplicantState.DORMANT)) {
        isReconnectDone = m_WifiManager.reconnect();;

    }

}
于 2012-12-07T23:58:06.977 に答える
0

BroadcastReceiverのアクションWIFI_STATE_CHANGED_ACTIONにを登録できますWifiManager
次に、Wifi の状態が変化したときにレシーバーが呼び出され、ユーザーが自分の電話を Wi-Fi ネットワークに接続したときに呼び出されます。

于 2012-12-07T23:54:03.463 に答える