2012-02-15 13 views
2

私はAndroid開発者の世界では初めての新人です。私はベアリングを得るために、いくつかの書籍といくつかのサンプルプログラムを通して働いています。私が書いたいアンドロイドアプリについて質問があります。android.net.wifi.ScanResultを使用して、ユーザ名/パスワードで保護された無線LANネットワークに自動ログインします。

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

これまでのところ、android.net.wifi.ScanResultクラスに依存すると思いました。私はSSIDが学校のネットワークに合っているかどうかを確認するアプリにしたいと思う。もしそうなら、ユーザが指定したホームページにページを開き、サインオンページにリダイレクトされるようにする。静かに動作を停止します。

私はこれをやりたいと思います。特に、モバイルデバイスでWi-Fi接続を画面上でスリープ状態にすると、クラス中に簡単なことを調べていると怒ってしまいます。あなたは無線LANをオフにして3G接続に頼るか、用語を検索するたびにユーザ/パスコンボを入力する必要があります。

私が助けが必要なのは、次のとおりです。Wi-Fiのスキャン頻度はわかりません。私は常に接続を監視するアプリケーションを書いていません。ユーザーが画面のロックを解除したときに接続しているWi-Fiを確認したい。それが学校のSSIDなら、私はプログラムを実行して接続してから消灯させたい。この単純なログインを、意図しない方法でやっているバッテリー豚を作成せずに、どうすれば達成できますか?

ありがとうございました。お詫び申し上げます。私が何をしているのか分かっていると、私はもっと簡潔になるでしょう。

http://developer.android.com/reference/android/net/wifi/package-summary.htmlは概要のための良い出発点である:それはあなたがおそらく無線LANの状態を監視するために、サービスの実行をしたいと思い行われるだろうかを通じて考える

答えて

1

http://developer.android.com/reference/android/net/wifi/WifiInfo.html & http://developer.android.com/reference/android/net/wifi/WifiManager.html#reconnect()

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

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

はこれを使用すると、リモートユーザー/パスワードを記入して提出する自動車にはJavaScriptファイルを注入し、認証を制御できますそれ。詳細については、もう一度最後を参照してください。

xml/sqlファイルに目的地を柔軟に保存することもお勧めします。パスワードを保存するには、暗号化する方法がたくさんあります。詳しくは、Android SQlite password encryption? & 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/にリンクするページは、javacript & webviewでさらに役立つはずです。

関連する問題