当已知的SSIS wifi网络进入/超出范围时,有没有办法得到通知?

时间:2011-05-12 19:14:12

标签: android notifications android-wifi wifimanager

我想编写一个应用程序,它包含在已知的wifi网络进入或超出范围时执行操作。

例如,假设我的家庭wifi网络的SSIS是“WifiHome”,我想发出通知“你刚离开家!”每当设备无法再检测到此特定网络时。  (或者当设备重新检测来自该网络的信号时,“你刚刚进入家中”)。

我的问题是: 是否可以在不经常查询可用网络列表的情况下收听这些更改?

1 个答案:

答案 0 :(得分:13)

您应该收听广播事件SCAN_RESULTS_AVAILABLE_ACTION。这将在每次Wi-Fi扫描完成时发送。发生此类事件时,只需重新迭代可通过WifiManager的getScanResults获得的扫描结果。

当wi-fi处于活动状态时,您将每隔几秒钟收到一次此广播。但是没有办法配置这个间隔,我的猜测是每个制造商可能会改变这个间隔。

您可以使用WifiManager的startScan手动触发Wi-Fi扫描。