【问题标题】:Android - What is happens after calling startScan method of WifiManagerAndroid - 调用 WifiManager 的 startScan 方法后会发生什么
【发布时间】:2014-06-13 18:17:04
【问题描述】:

我正在尝试执行类似本教程Android Wi-Fi Tutorial 的操作来扫描可用的接入点。我在接收器中有一行代码,用于在扫描过程完成时每次调用接收器时输出一条消息“Calling receiver”。我只调用了startScan方法一个,但是我可以看到接收器被调用了更多次,并且频率是任意的。日志消息是这样的:

04-28 15:49:39.190   calling receiver

04-28 15:50:50.945   calling receiver

04-28 15:50:56.480  calling receiver

04-28 15:55:41.480  calling receiver

04-28 16:00:26.840  calling receiver

04-28 16:05:12.000  calling receiver

04-28 16:09:57.115 calling receiver

所以日志消息告诉我接收器以任意频率调用。谁能告诉我每次调用 startScan 方法时会发生什么?它是否启动了一个新线程来进行扫描并重复该扫描?如果是这样,我如何停止该线程以及如何更改该线程的频率?

【问题讨论】:

  • 您可以查看 Android 源代码,但我认为它对您没有帮助。这不是 API 文档中的内容,因此您无需了解。不同版本的Android也可能会有所不同,所以最好不要尝试基于此编写代码。
  • 那么如果我不依赖这个,我该如何扫描可用的接入点呢?我需要能够定期连续扫描接入点。
  • 您无法控制该代码。即使你知道它做了什么,那对你有什么帮助?您唯一能做的就是实施自己的时间管理,或根据您对设备的体验更改您的产品要求。

标签: android wifimanager access-point network-scan


【解决方案1】:

每当接收器找到新的 wifi 时,总会调用此接收器,这就是为什么您的 logcat 会打印调用接收器方法的原因。

【讨论】:

  • 我可以看到以前调用和当前调用之间的访问点没有区别。每次信号强度等变化时也会调用吗?
  • 请阅读本教程tutorialspoint.com/android/android_wi_fi.htm 并让我知道以获得更多帮助。
猜你喜欢
  • 2018-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-20
  • 1970-01-01
  • 2022-06-17
  • 1970-01-01
相关资源
最近更新 更多