开始使用

准备工作

开始使用 Nearby Connections API 进行编码之前,请执行以下操作:

请求权限

在使用 Nearby Connections 之前,您的应用必须请求适当的权限。将以下权限添加到 AndroidManifest.xml

<!-- Required for Nearby Connections -->
<uses-permission android:maxSdkVersion="31" android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:maxSdkVersion="31" android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:maxSdkVersion="30" android:name="android.permission.BLUETOOTH" />
<uses-permission android:maxSdkVersion="30" android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:maxSdkVersion="28" android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:minSdkVersion="29" android:maxSdkVersion="31" android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:minSdkVersion="31" android:name="android.permission.BLUETOOTH_ADVERTISE" />
<uses-permission android:minSdkVersion="31" android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:minSdkVersion="31" android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:minSdkVersion="32" android:name="android.permission.NEARBY_WIFI_DEVICES" />
<uses-permission android:minSdkVersion="37" android:name="android.permission.ACCESS_LOCAL_NETWORK" />
<!-- Optional: only required for FILE payloads -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

由于 ACCESS_FINE_LOCATIONBLUETOOTH_ADVERTISEBLUETOOTH_CONNECTBLUETOOTH_SCANACCESS_LOCAL_NETWORK (从 Android 17 开始,对于使用 WIFI_LAN 且以 SDK 37 及更高版本为目标的应用是必需的) 和 READ_EXTERNAL_STORAGE 被视为 危险的系统 权限,因此除了将它们添加到清单之外,您还必须在运行时请求这些权限 ,如 请求 权限中所述。

如果用户未授予所有必需的权限,Nearby Connections API 将拒绝允许您的应用开始播发或发现。