-1

私は公共のwifiネットワークにログインするアプリに取り組んでいます。認証サーバーへの http 投稿を行うことで、ログインが機能しています。私の次のステップは、新しい Wi-Fi 接続があるときにアプリが自動的に http 投稿を行うようにし、正しい ssid に接続されていることを確認することです。私の質問は、これを行う最良の方法はどれですか? サービスを作成してブロードキャストレシーバーに登録する最良の方法は?

ご協力いただきありがとうございます

4

1 に答える 1

1

私がそれを行う方法は、android.net.conn.CONNECTIVITY_CHANGEインテントをリッスンするブロードキャストレシーバーがあることです。そのブロードキャスト レシーバーでは、以下をポーリングすることで、どのような接続が確立されているかを確認できますConnectivityManager

ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
boolean hasWifi = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI) != null && cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isAvailable()  && cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnected();

そして、認証サーバーへの投稿を行うサービスを開始します。

あるいは、実際にサービスにインテントをリッスンさせ、android.net.conn.CONNECTIVITY_CHANGEそこで wifi チェックを行うこともできます。

于 2012-07-20T10:27:36.137 に答える