当前位置 : 主页 > 手机开发 > android >

Android – 检测到新的访问点时获取通知?

来源:互联网 收集:自由互联 发布时间:2021-06-11
Android是否提供了在新的Wifi网络附近的通知?设备是否配置为连接到该wifi网络取决于设备是否具有为该特定wifi网络设置的wifi配置,但是是否可以在进入任何新的wifi网络时收到通知? 我
Android是否提供了在新的Wifi网络附近的通知?设备是否配置为连接到该wifi网络取决于设备是否具有为该特定wifi网络设置的wifi配置,但是是否可以在进入任何新的wifi网络时收到通知?
我看到了WifiManager类,但是类中的状态似乎没有实现我想要做的事情.有任何想法吗? 使用已注册的BroadcastReceiver接收带有操作的意图:WifiManager.NETWORK_STATE_CHANGED_ACTION.

在此BroadcastReceiver中,您可以从intent中提取NetworkInfo对象:

NetworkInfo ni = (NetworkInfo) intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);

然后处理ni.getState()以检查来自wifi网络的连接/断开连接.

这是你在找什么?

回答后编辑

因此,如果您想知道哪些无线网络可用,请使用WifiManager.getScanResults()这将为您提供Scanresult对象中附近接入点的列表.它们包含接入点的SSID和BSSID,分别是它们的网络名称和mac地址.

您可以使用已注册的BroadcastReceiver异步获取此信息,以接收具有操作WifiManager.SCAN_RESULTS_AVAILABLE_ACTION的意图.然后,每次系统执行wifi扫描时都会通知您,您可以检查自上次扫描后是否出现了新的SSID(即网络名称).

最后,如果您希望比系统默认扫描频率更高,您可以使用WifiManager.startScan()自行触发wifi扫描.

网友评论