-1

我正在开发一个在公共 wifi 网络上登录的应用程序。我已经通过向身份验证服务器发送 http 帖子来进行登录。我的下一步是让应用程序在有新的 wifi 连接时自动执行 http post,检查我们是否连接到正确的 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 回答