使ってみる

始める前に

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_NETWORKWIFI_LAN を使用して SDK 37 以降をターゲットとするアプリの場合は Android 17 以降で必須)、 および READ_EXTERNAL_STORAGE危険なシステム 権限と見なされるため、マニフェストに追加するだけでなく、権限のリクエストで説明されているように、実行時にこれらの権限をリクエストする必要があります。

ユーザーが必要な権限をすべて付与しない場合、Nearby Connections API は、アプリがアドバタイズや検出を開始することを拒否します。