准备工作
开始使用 Nearby Connections API 进行编码之前,请执行以下操作:
- 安装 Google Play 服务 SDK。
- 下载并查看 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_LOCATION、
BLUETOOTH_ADVERTISE、
BLUETOOTH_CONNECT、
BLUETOOTH_SCAN、
ACCESS_LOCAL_NETWORK
(从 Android 17 开始,对于使用 WIFI_LAN 且以 SDK 37 及更高版本为目标的应用是必需的)
和
READ_EXTERNAL_STORAGE
被视为 危险的系统
权限,因此除了将它们添加到清单之外,您还必须在运行时请求这些权限
,如 请求
权限中所述。
如果用户未授予所有必需的权限,Nearby Connections API 将拒绝允许您的应用开始播发或发现。