Android系统多久扫描一次Wi-Fi?
以下2个案例:
当设备连接到网络时
或
当设备未连接到任何网络时。 它与Android OS版本不同吗?
有没有人知道这些信息?
答案 0 :(得分:1)
Android系统扫描wifi:
1. 如果设备启用了wifi且设备未连接到任何网络,则会扫描可用网络
2. 如果设备已连接到网络,系统将根据用户请求扫描可用网络(即用户点击扫描按钮时)
答案 1 :(得分:1)
WiFi扫描本质上取决于硬件制造商 - 可能还有一些用户设置和正在运行的其他应用程序(其他应用程序可能会请求扫描WiFi网络)。所以WiFi确实没有“标准扫描时间”。
这是一个很好的参考,讨论WiFI扫描之间的间隔(基本上说你应该与用户核实,看看他们是否想要“尽可能经常扫描”选项,或其他...) What interval should I use between each WiFi scan on Android?
除非您的应用是针对开发人员的,否则您应该使用衰减算法,例如在5秒检查,然后检查10,20,40,80,160 ......等等,直到您在可接受的时间范围内达到最大值(例如5分钟 - 300秒;或1小时--3600秒)。然后还监控其他事件,如手机睡眠/唤醒或应用程序启动。使用它们进行WiFi轮询 - 并尝试连接并重新启动衰减算法方法。
答案 2 :(得分:1)
Android系统多久扫描一次Wi-Fi?
这取决于应用程序实现和(取决于Android OS版本)(因此,是第二个问题的答案)。
让我们详细介绍一下
您可以使用WifiManager
的实例通过startScan()
方法启动wifi扫描。这样一来,您就可以开始所有想要的扫描,从而很快耗尽电池电量。
因此,从Android 8.0(API 26)开始,扫描频率受到限制。
以下限制适用于使用的扫描频率 WifiManager.startScan()。
Android 8.0和Android 8.1:
每个后台应用程序都可以在30分钟的时间内扫描一次。
Android 9及更高版本:
每个前景应用程序都可以在2分钟时间内扫描 4次。这个 可以在短时间内进行扫描。
所有后台应用程序组合可以在30分钟内扫描一次。
答案 3 :(得分:0)
根据我在LG G2(Android 5.0.2)上的实验,在以下情况下扫描wifi:
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, minTime, ...)
的应用程序。指定{0}的minTime
时,网络扫描每20秒完成一次。App "Wifi Scan Interval"显示minimum/maximum/average wifi scan frequency因手机制造商和型号而异。但这可能是因为已安装的应用程序。基于此,我猜测上述规则可能与其他手机不同。