API 26 (Oreo) 中的 Wifi Direct 对等发现



我正在开发一个Wifi Direct APP,遵循Wifi Direct Demo,它可以在API低于26的设备之间工作。 在 API 26 中它无法正常工作,因为它没有检测到 APP 中的任何对等体,peers.size(( = 返回 0(但它是通过设置 ->Wifi 检测到的。无线网络直达,另一个对等(。

如果 API 为 26 的设备尝试连接,则无法正常工作,但如果 API 低于 API 26 的设备尝试连接到 API 26 设备,则连接有效(尽管在 API 26 设备中检测到任何对等体(。

为什么在APP中没有检测到对等方,但确实出现在设置中(对于低于26的API,检测在APP中有效(?

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

终于解决了: 设置 -> 常规 -> 应用程序和通知 -> 应用程序信息 -> 选择您的应用程序 ->权限->启用您的位置。

最新更新