android - API 26 (Oreo) 中的 Wifi Direct 对等点发现
问题描述
我正在按照Wifi Direct Demo开发一个 Wifi Direct APP ,它可以在 API 低于 26 的设备之间工作。在 API 26 中它不能正常工作,因为它没有检测到 APP 中的任何对等点,peers.size( ) = 返回 0(但通过设置 ->Wifi..wifi 直接检测到,其他对等方)。
如果 API 为 26 的设备尝试连接它不起作用,但如果 API 低于 API 26 的设备尝试连接到 API 26 设备,则连接有效(尽管在 API 26 设备中检测到任何对等点)。
为什么在 APP 中未检测到对等点,但在设置中出现(检测在 APP 中对 26 以下的 API 有效)?
API 26 有新的限制吗?
我得到以下日志:
06-20 00:16:29.625 1157-1157/? E/wificond: NL80211_CMD_TRIGGER_SCAN failed: Device or resource busy
06-20 00:16:29.625 1481-2605/? E/WificondScannerImpl: Failed to start scan, freqs=null
06-20 00:16:29.628 1481-1481/? D/WifiProfileMgrReceiver: handleEvent : android.net.wifi.SCAN_RESULTS
06-20 00:16:29.631 1481-1481/? D/WifiProfileUtil: [getMccMnc] Add Slot 0 SubId 1
06-20 00:16:29.637 1481-18547/? D/WifiPermissionsUtil: Denied: no location permission
06-20 00:16:29.742 1206-2847/? I/LOWI-8.5.0.3.a: [LOWI-Scan] lowi_close_record:Scan completed in 2765827ms and Recieved 0 APs scan results
06-20 00:16:29.743 1206-1279/? I/LOWI-8.5.0.3.a: [LOWIUtils] responseToOutPostcard - TO: GTP-FDAL, FROM: LOWI-SERVER, RESP: LOWI_ASYNC_DISCOVERY_SCAN_RESULTS
06-20 00:16:29.743 1157-1157/? E/wificond: Failed to get interface index from scan result notification
06-20 00:16:29.744 1208-1445/? W/XTCC-6.1.2.10: [LOWIUtils] to_eScanTypeResponse - default case
06-20 00:16:29.744 1208-1445/? E/XTCC-6.1.2.10: [FDAL_Manager] handleFreeWiFiScanResult: failed: 11
06-20 00:16:30.011 1206-2847/? I/LOWI-8.5.0.3.a: [LOWI-Scan] lowi_close_record:Scan completed in 2766096ms and Recieved 0 APs scan results
06-20 00:16:30.012 1206-1279/? I/LOWI-8.5.0.3.a: [LOWIUtils] responseToOutPostcard - TO: GTP-FDAL, FROM: LOWI-SERVER, RESP: LOWI_ASYNC_DISCOVERY_SCAN_RESULTS
06-20 00:16:30.013 1208-1445/? W/XTCC-6.1.2.10: [LOWIUtils] to_eScanTypeResponse - default case
06-20 00:16:30.013 1208-1445/? E/XTCC-6.1.2.10: [FDAL_Manager] handleFreeWiFiScanResult: failed: 11
06-20 00:16:30.483 1206-2847/? I/LOWI-8.5.0.3.a: [LOWI-Scan] lowi_close_record:Scan completed in 2766568ms and Recieved 0 APs scan results
06-20 00:16:30.484 1206-1279/? I/LOWI-8.5.0.3.a: [LOWIUtils] responseToOutPostcard - TO: GTP-FDAL, FROM: LOWI-SERVER, RESP: LOWI_ASYNC_DISCOVERY_SCAN_RESULTS
06-20 00:16:30.485 1208-1445/? W/XTCC-6.1.2.10: [LOWIUtils] to_eScanTypeResponse - default case
06-20 00:16:30.486 1208-1445/? E/XTCC-6.1.2.10: [FDAL_Manager] handleFreeWiFiScanResult: failed: 11
06-20 00:16:30.849 1206-2847/? I/LOWI-8.5.0.3.a: [LOWI-Scan] lowi_close_record:Scan completed in 2766934ms and Recieved 0 APs scan results
06-20 00:16:30.850 1206-1279/? I/LOWI-8.5.0.3.a: [LOWIUtils] responseToOutPostcard - TO: GTP-FDAL, FROM: LOWI-SERVER, RESP: LOWI_ASYNC_DISCOVERY_SCAN_RESULTS
06-20 00:16:30.852 1208-1445/? W/XTCC-6.1.2.10: [LOWIUtils] to_eScanTypeResponse - default case
我添加了位置权限(ACCESS_FINE_LOCATION),但我不断收到此错误:
Failed to get interface index from scan result notification
解决方案
最后我解决了:设置->常规->应用程序和通知->应用程序信息->选择您的APP->权限->启用您的位置。
推荐阅读
- r - R时间序列数据图 - 色调+平均实线
- dataframe - 使用新的“其他变量”创建新列
- c# - IIS 没有收到对 HTML 的更新?
- python - Pandas 将每年与某个属性关联的列合并为单独的列
- javascript - 有没有办法使用 Web Audio API 重新采样音频流?
- python - 在 Plotly 中使用三个 1D 浮点数组创建 3D 曲面图
- javascript - 是什么导致 React.js 上的表单解析错误
- reactjs - 创建反应应用程序 - 小型 EC2 服务器上的 `yarn build` 占用 100% CPU 并使其无响应
- c++ - 树形图的直径
- python - 从经度和纬度获取国家名称