gpt4 book ai didi

android - 在 Android 9 中正确使用 wifi RTT ranging

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:41:29 29 4
gpt4 key购买 nike

Android 9 (Pie) 介绍 wifi RTT ranging用于基于 wifi 的地理定位。

在 Android 8 (Oreo) 之前的版本中,应用程序会定期请求 wifi 扫描。此功能正在大量使用 throttled在 Android 9 中:前台应用程序现在可以在 2 分钟的窗口中请求最多 4 次扫描;对于所有后台应用程序组合,后台应用程序限制为每 30 分钟扫描一次。避免这种限制的唯一方法是 NETWORK_SETTINGS 权限,然而,它是一个签名权限(我认为这意味着它需要使用与操作系统构建相同的 key 进行签名,无论是否它是一个系统应用程序),因此不适用于第三方应用程序。

我知道 wifi RTT 测距只能通过 ScanResult 启动,因此我需要先运行 wifi 扫描。但是,我大概可以通过对几个 RTT 测距请求重复使用相同的扫描结果来绕过限制,但代价是一段时间内无法获得新的 wifis。

但是,文档还提到了 wifi RTT 范围的限制,但是没有具体说明限制是什么。

最后,WifiManager.startScan() is deprecated在未来的版本中,应用程序可能无法再启动扫描。

问题:

  • 请求 wifi RTT 范围的限制是什么?
  • 获取启动 RTT 测距请求所需的 ScanResult 的正确方法是什么?

最佳答案

我还没有看到任何关于限制的文档,但从 Android 源代码中您至少可以看到这些:

  • 后台应用限制为每 30 分钟一次
  • 每个应用最多可以有 20 个测距请求在排队

Wifi RTT服务实现源代码在这里: https://android.googlesource.com/platform/frameworks/opt/net/wifi/+/android-9.0.0_r3/service/java/com/android/server/wifi/rtt/RttServiceImpl.java

谷歌已经关闭了 Issue Tracked 中的大部分 WiFi 节流线程,并附有评论“将用于改进 future 的 Android 版本”,但也有像这样的活跃线程: https://issuetracker.google.com/issues/112688545你能在那里提出你的问题吗?

关于android - 在 Android 9 中正确使用 wifi RTT ranging,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51938026/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com