Wi fi kill:Wi-Fi感知扫描限制(wifi scan throttling android)

关于Wi fi kill的问题,在wifi scan throttling android中经常遇到, 谷歌在 Android 8 或 9 中引入了一系列关于 Wi-Fi 扫描频率的限制。应用程序在扫描 Wi-Fi 连接的频率方面受到限制,包括 P2P Wi-Fi 对等。Wi-Fi Aware 是什么情况?它有同样的限制吗?绕过它更容易吗?

谷歌在 Android 8 或 9 中引入了一系列关于 Wi-Fi 扫描频率的限制。应用程序在扫描 Wi-Fi 连接的频率方面受到限制,包括 P2P Wi-Fi 对等。Wi-Fi Aware 是什么情况?它有同样的限制吗?绕过它更容易吗?

1

这个答案是根据 OP 的最新评论。

跟踪网络 RSSI 的一种方法是使用BroadcastReceiver注册意图RSSI_CHANGED_ACTION,然后从存储的意图的额外值中提取原始 RSSI 值。密钥Wi-FiManager.EXTRA_NEW_RSSI,并使用calculateSignalLevel()获得阈值级别(通常可行值)。一些近似代码:

    } else if (action.equals(WifiManager.RSSI_CHANGED_ACTION)) {
        // Default to -200 as its below WifiManager.MIN_RSSI.
        int rawRssi = intent.getIntExtra(WifiManager.EXTRA_NEW_RSSI, -200);
        int rssiLevel = mWifiManager.calculateSignalLevel(rawRssi);
    }

此外,要回答上一个关于 Wi-Fi 感知设置是否受相同扫描限制的问题,答案是“否”,不是因为它相对于 Wi-Fi-Direct 具有豁免,而是因为它与 Wi-Fi-Direct 连接的操作方式不同。对于 Wi-Fi Direct 连接,需要对基于WifiManager的开发人员页面进行request()节流,以启动扫描,并且这些扫描是否被节流

Wi-Fi-Aware 使用不同的范例。如果这与测距的使用有关,则可以在两个设备之间利用 Wi-Fi-Aware 技术,如下所示:

使用context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WIFI_RTT);使用 Wi-Fi-RTTI api 检查是否支持测距

通过注册意图WifiRttManager.ACTION_WIFI_RTT_STATE_CHANGED来检查 Wi-Fi RTT 是否可用,并在其收据上检查 Wi-Fi RTT 是否可用。

Create aranging request Startranging

从成功的测距结果中提取rssi

需要注意的一点是,根据框架中的this代码,每个 UID 的测距请求限制为 20。

static final int MAX_QUEUED_PER_UID = 20;

请注意,如果您作为常规应用程序运行,您的应用程序将拥有自己的 UID。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(703)
微商货源网源码:微信是否将电子邮件或phoneid共享给服务提供商
上一篇
Iphone查看网页源代码:如何查看隐藏的网页源代码 (the hidden source)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(72条)