gpt4 book ai didi

Android WiFi 设备到 AP 的往返时间 (RTT)

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:30:04 37 4
gpt4 key购买 nike

随着 Android API-Level 21,SDK 分别添加了 23 种测量 Wifi roundtrip time (RTT) 的方法:

但是我没有找到任何关于如何使用 API 来测量 RTT 的信息。

相关类RttManager仍标记为系统 API。

有什么方法可以执行Device-To-AP RTT 测量吗?

最佳答案

Android P 开始,Wi-Fi RTT (IEEE 802.11mc) 的公共(public) API 现已可用。

WiFiRttManager

将以下内容添加到您的 AndroidManifest:

<manifest ...>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-feature android:name="android.hardware.wifi.rtt" />
...
</manifest>

获取 WiFiRttManager 实例:

final WifiRttManager rttManager = (WifiRttManager) context.getSystemService(Context.WIFI_RTT_RANGING_SERVICE);

检查设备是否支持 Rtt 测量:

rttManager.isAvailable();

执行测距:

// A ScanResult can be retrieved by e.g. perform a WiFi scan for WiFi's in range -> https://developer.android.com/reference/android/net/wifi/ScanResult.html 
final RangingRequest request = new RangingRequest.Builder()
.addAccessPoint(scanResult)
.build();
final RangingResultCallback callback = new RangingResultCallback() {
public void onRangingResults(List<RangingResult> results) {
// Handle result, e.g. get distance to Access Point
}

public void onRangingFailure(int code) {
// Handle failure
}
};
// Start ranging and return result on main thread.
rttManager.startRanging(request, callback, null);

请注意,接入点还必须支持 Wi-Fi RTT (IEEE 802.11mc)!

更新:示例应用可在此处找到: Android Wifi RttManager sample

关于Android WiFi 设备到 AP 的往返时间 (RTT),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39639871/

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