Android 开发者网站上的 Wifi Direct 文档包括从现已失效的示例应用程序(Android Studio 在项目结构中遇到障碍)中获取的代码片段,我设法找到了一个在 Kotlin 中实现的修改后的 github 版本,它构建和运行但是在两台设备(Galaxy S8+:Android 10,Oppo Reno4:Android 12)之间进行测试未能取得任何有用的结果(无法在任一设备上创建组或定位对等方)。
关于该主题的所有 SO 讨论似乎已有十多年的历史,所以我只剩下问这个功能是否仍然有效,或者它是否刚刚在 Android 源代码树上腐烂,是否有人能够指导我一些功能代码或至少确认该功能在更高版本的操作系统中仍然有效? [或者我最好使用热点功能明确配置设备?]
通过将以下内容添加到AndroidManifest.xml
:
,我能够获得引用的示例应用程序(https://github.com/changfeng1050/WiFiDirectDemo)
<!-- If your app derives location information from Wi-Fi APIs,
android:usesPermissionFlags="neverForLocation"
don't include the "usesPermissionFlags" attribute. -->
<uses-permission android:name="android.permission.NEARBY_WIFI_DEVICES"
/>
<!-- If any feature in your app relies on precise location information,
don't include the "maxSdkVersion" attribute. -->
<uses-permission
android:required="true"
android:name="android.permission.ACCESS_FINE_LOCATION"
android:maxSdkVersion="32" />