2012-07-20 46 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意图,并在那里做无线检查。