android系统多久扫描一次wifi

时间:2015-04-01 03:54:01

标签: android wifi

Android系统多久扫描一次Wi-Fi?

以下2个案例:

当设备连接到网络时

当设备未连接到任何网络时。 它与Android OS版本不同吗?

有没有人知道这些信息?

4 个答案:

答案 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分钟内扫描一次。

REFERENCES

答案 3 :(得分:0)

根据我在LG G2(Android 5.0.2)上的实验,在以下情况下扫描wifi:

  1. 禁用位置功能时
    • 每次从睡眠模式中醒来
    • 激活wifi时(手动或以编程方式)
    • 大约每2分钟启用wifi但设备未连接到wifi网络
  2. 启用位置功能时:它取决于注册到locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, minTime, ...)的应用程序。指定{0}的minTime时,网络扫描每20秒完成一次。
  3. App "Wifi Scan Interval"显示minimum/maximum/average wifi scan frequency因手机制造商和型号而异。但这可能是因为已安装的应用程序。基于此,我猜测上述规则可能与其他手机不同。