android.net.wifi.scanresultを使用して、ユーザー名/パスワードでセキュリティで保護されたWiFiネットワークに自動ログインします

StackOverflow https://stackoverflow.com/questions/9303479

質問

私はAndroid開発者の世界にまったく新しいです。私は、ベアリングを手に入れるために、いくつかの本といくつかの例プログラムを通して働いています。書きたいAndroidアプリについて質問があります。

私の学校には、ユーザー名/パスワードでログインする必要があるゲートキーパーページで保護されているオープンWiFiネットワークがあります。デバイスがルーターに接続されると、HTTP要求はすべてルーターベースのログインページにリダイレクトされます。この握手を自動化したいです。

私はこれまでのところ、android.net.wifi.scanresultクラスに依存していると考えています。 SSIDが学校のネットワークと一致するかどうかをアプリに確認してもらい、もしそうなら、サインオンページにリダイレクトされるユーザー指定のホームページにページを開き、ユーザー情報を入力して入力して完了します接続してから、静かに動作を停止します。

特にモバイルデバイスが画面上のWiFi接続スリープをオフにして、授業中に簡単なものを調べることが腹を立てているため、これをやりたいと思います。 WiFiをオフにして3G接続に依存するか、用語を調べたいたびにユーザー/パスコンボを入力する必要があります。

私が助けを必要とするのはこれです:WiFiスキャンの頻度がわかりません。常に接続を監視するアプリを書きたくありません。ユーザーが画面のロックを解除したときに接続されているWiFiを確認してほしい。学校のSSIDの場合、プログラムを実行して接続してからオフにしたいと思います。必要以上に行うバッテリー豚を意図せずに作成することなく、この簡単なログインを達成するにはどうすればよいですか?

よろしくお願いします。冗長性をお詫び申し上げます。自分がやっていることをよく理解したら、もっと簡潔になります。

役に立ちましたか?

解決

それがどのように行われるかを考えると、おそらくWiFiの状態を監視するためにサービスを実行する必要があります。

http://developer.android.com/reference/android/net/wifi/package-summary.html 概要の良い出発点です。http://developer.android.com/reference/android/net/wifi/wifiinfo.html & http://developer.android.com/reference/android/net/wifi/wifimanager.html#reconnect()

これにより、状態を確認できます。接続されていない場合は、reconnect()で接続できます。使用 http://www.openintents.org/en/node/320 Bluetoothにとっては、これを突き刺すのに適した場所になります。次は認証の問題です。これは、おそらくWebビューを介して行うのが最善です。

http://developer.android.com/reference/android/webkit/webview.html

これにより、認証をリモート制御でき、JavaScriptファイルを注入してユーザー/パスワードを自動入力して送信します。詳細については、もう一度端をもう一度ご覧ください。

また、目的地をXML/SQLファイルに柔軟に保存することをお勧めします。パスワードを保存するには、それを隠す方法がたくさんあります Android sqliteパスワード暗号化? & http://code.google.com/p/openintents/source/browse/#svn/trunk/safe その詳細については。

http://www.openintents.org/en/node/36 WebViewの例があります。http://lexandera.com/2009/01/injecting-javascript-into-a-webview/ そして、それはページをリンクしています http://jsharkey.org/blog/2008/12/15/oilcan-greasemonkey-on-steroids-for-android/ JavaScriptとWebViewの詳細を支援する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top