gpt4 book ai didi

android - 执行需要粗略位置许可的网络扫描

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

我正在开发一个应用程序,该应用程序进行网络扫描并将所有找到的 SSID 放入微调器中。

Android Studio 警告您需要CHANGE_WIFI_STATE 的权限。将此添加到 list 后,Android Studio 不会通过 WifiManager.getScanResults() 返回 0 个网络发出任何警告。我发现我需要为 ACCESS_COARSE_LOCATION 添加/请求权限。

我只需要网络 SSID,我不关心用户位于何处,那么为什么我/用户需要允许位置权限只是为了获取可用网络列表。以下是我目前进行扫描的方式:

    activity.registerReceiver(mWifiScannerReceiver, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
wifiManager = (WifiManager)activity.getSystemService(Context.WIFI_SERVICE);

wifiManager.startScan();

And my receiver:

if (intent.getAction().equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION))
{
List<ScanResult> scanResults = wifiManager.getScanResults();
wifiNetworkList.clear();
//List<String> ssids = new ArrayList<>();
for (int i = 0; i < scanResults.size(); i++)
{
wifiNetworkList.add(scanResults.get(i).SSID);
//ssids.add(scanResults.get(i).SSID);
}
//wifiNetworkList = ssids;
wifiAdapter.notifyDataSetChanged();
}

最佳答案

I don't care where the user is located

是的,但是给定网络 SSID,如果 WiFi 网络的位置已知,您可以找出用户所在的位置。

why do I/the user need to allow the location permission just to get a list of available networks

为了改善用户隐私,as of Android 6.0 .

关于android - 执行需要粗略位置许可的网络扫描,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36344239/

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