시작하기

시작하기 전에

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에서 앱이 광고 또는 검색을 시작하도록 허용하지 않습니다.