事前準備
開始使用 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 (如果應用程式以 SDK 37 以上版本為目標,且使用 WIFI_LAN,則必須從 Android 17 開始要求這項權限) 和 READ_EXTERNAL_STORAGE 屬於危險系統權限,因此除了將這些權限加入資訊清單外,您也必須在執行階段要求這些權限,如「要求權限」一文所述。
如果使用者未授予所有必要權限,Nearby Connections API 會拒絕允許應用程式開始廣告或探索。