Antes de comenzar
Antes de comenzar a programar con la API de Nearby Connections, haz lo siguiente:
- Instala el SDK de Servicios de Google Play.
- Descarga y revisa las muestras de código de la API de Nearby Connections.
Solicita permisos
Antes de usar Nearby Connections, tu app debe solicitar los permisos adecuados. Agrega los siguientes permisos a tu 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"/>
Dado que ACCESS_FINE_LOCATION, BLUETOOTH_ADVERTISE, BLUETOOTH_CONNECT, BLUETOOTH_SCAN, ACCESS_LOCAL_NETWORK (obligatorio a partir de Android 17 para las apps que segmentan SDK 37 o versiones posteriores con WIFI_LAN) y READ_EXTERNAL_STORAGE se consideran permisos peligrosos del sistema, además de agregarlos a tu manifiesto, debes solicitar estos permisos en el tiempo de ejecución, como se describe en Solicitud de permisos.
Si el usuario no otorga todos los permisos requeridos, la API de Nearby Connections rechazará permitir que tu app comience a anunciar o descubrir.