我正在开发一个登录公共wifi网络的应用程序。我通过对验证服务器执行http发布来登录工作。 我的下一步是让应用程序在有新的wifi连接时自动执行http发布,检查我们是否连接到正确的ssid。 我的问题是,这是最好的方法吗?是创建服务和注册广播接收者的最佳方式吗?
感谢您的帮助
答案 0 :(得分: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();
然后启动服务,将帖子发送到auth服务器。
或者你可以让服务听取android.net.conn.CONNECTIVITY_CHANGE
意图并在那里进行wifi检查。