我正在开发一个应用程序,这个应用程序应该是不断检查手机连接到的接入点的BSSID,因为它知道手机总是连接到一个网络,但可能连接到多个接入点(当然不是同时连接),因为大楼很大。我使用了BroadcastReceiver,但是为了检查手机是否连接到不同的接入点,我必须关闭应用程序并再次运行它以获得更新的BSSID。我希望应用程序能够不断地使用新的BSSID检查和更新UI,而不必关闭应用程序并再次打开它。你知道我该怎么做吗?
谢谢
发布于 2013-12-30 15:42:37
在过去,我成功地使用了它来监视WiFi连接的更改:
public class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
NetworkInfo wifiInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
// etc
}
}
}只需在onResume()中注册接收方,然后在onPause()中取消注册,就可以了。
@Override
protected void onResume() {
super.onResume();
IntentFilter connectivityFilter = new IntentFilter();
connectivityFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
registerReceiver(your_broadcast_receiver, connectivityFilter);
}https://stackoverflow.com/questions/20840982
复制相似问题