2012-07-20 47 views
-1

我正在研究登錄公共WiFi網絡的應用程序。我通過對認證服務器執行http post來獲取登錄信息。 我的下一步是讓應用程序在有新的wifi連接時自動執行http發佈,檢查我們是否連接到了正確的ssid。 我的問題是,這是做這件事的最好方法?是創建服務並註冊到廣播接收器的最佳方式?Android - 在wifi連接上執行http post

感謝您的幫助

+0

看看:[確定和監測連接狀態](http://developer.android.com/training/monitoring-device-state/connectivity-monitoring.html) – Idolon 2012-07-20 11:12:05

回答

1

我做的方式是,我有一個監聽android.net.conn.CONNECTIVITY_CHANGE意圖一個BroadcastReceiver。在這種廣播接收器可以檢查什麼樣的連接是通過輪詢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(); 

,然後啓動服務做郵寄到auth服務器。

另外,你可以確實讓服務聽取android.net.conn.CONNECTIVITY_CHANGE意圖,並在那裏做無線檢查。