gpt4 book ai didi

android - Android 上的 WiFi 扫描

转载 作者:行者123 更新时间:2023-12-05 00:19:12 27 4
gpt4 key购买 nike

我有一个正在扫描 Wi-Fi 网络的应用程序。完成一次 Wi-Fi 扫描后,我将开始新的一次。我正在 Pixel3 和 SamsungS10 手机上进行测试。在两部手机上,我都从开发者选项中禁用了 Wi-Fi 扫描限制。我在有很多不同 Wi-Fi 网络的办公室进行扫描。我观察到的问题是,在 Pixel3 上,Wi-Fi 扫描在一段时间内工作正常,然后开始在连续十几次扫描中返回扫描错误,之后扫描又工作正常。这是周期性发生的。三星S10手机上根本不会出现此问题。以下是我进行扫描的方法:

wifiManager.startScan();

BroadcastReceiver wifiScanReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context c, Intent intent) {
boolean success = intent.getBooleanExtra(
WifiManager.EXTRA_RESULTS_UPDATED, false);
if (success) {
scanSuccess();
} else {
scanFailure();
}

wifiManager.startScan();
}
};

知道为什么 Wi-Fi 扫描在 Pixel3 手机上效果更差吗?有什么方法可以获取准确的 Wi-Fi 扫描错误代码/错误消息,而不是简单的 bool 值 bool 成功=intent.getBooleanExtra(WifiManager.EXTRA_RESULTS_UPDATED, false);

最佳答案

此页面 ( https://developer.android.com/guide/topics/connectivity/wifi-scan#wifi-scan-process ) 包含以下代码:

private void scanFailure() {
// handle failure: new scan did NOT succeed
// consider using old scan results: these are the OLD results!
List<ScanResult> results = wifiManager.getScanResults();
//... potentially use older scan results ...
}

我相信 Google 的操作系统开发人员为了获得更好的电池生命周期,只是阻止应用程序一直进行“wifi 扫描”。正如代码中的注释所描述的,如果出现错误,您应该简单地使用旧的结果。比尔达夫

关于android - Android 上的 WiFi 扫描,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63569335/

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