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