Começar

Antes de começar

Antes de começar a programar usando a API Nearby Connections:

Solicitar permissões

Antes de usar o Nearby Connections, seu app precisa solicitar as permissões adequadas. Adicione as seguintes permissões ao seu 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"/>

Como ACCESS_FINE_LOCATION, BLUETOOTH_ADVERTISE, BLUETOOTH_CONNECT, BLUETOOTH_SCAN, ACCESS_LOCAL_NETWORK (necessário a partir do Android 17 para apps destinados ao SDK 37 ou mais recente usando WIFI_LAN), e READ_EXTERNAL_STORAGE são consideradas permissões de sistema perigosas, além de adicioná-las ao manifesto, você precisa solicitar essas permissões no tempo de execução, conforme descrito em Solicitar permissões.

Se o usuário não conceder todas as permissões necessárias, a API Nearby Connections vai se recusar a permitir que seu app comece a anunciar ou descobrir.