¿Cómo en realidad BOND un dispositivo?
Dondequiera que miro encuentro este método "getBondedDevices ()" para mi adaptador del bluetooth. Sin embargo, tengo mi tablet y otro dispositivo bluetooth sentado junto a mí, y no puedo averiguar cómo conseguir que el dispositivo aparezca en la lista de dispositivos enlazados.
- ¿Cómo desarrollar aplicaciones Android usando un dispositivo Samsumg Galaxy 5?
- Cordova no instala realmente la aplicación en el dispositivo Android
- Android Studio no ve el dispositivo
- Android BluetoothDevice.getName () return null
- Android Studio: ¿qué está causando los logs de la fuente de alimentación de la batería logcat?
- Android Studio No reconoce mi dispositivo, uno más uno
- Conexión de dos dispositivos mediante libgdx
- ¿Es posible hacer que mi aplicación funcione en modo seguro?
- Android DevicePolicyManager locknow () no funciona en Lollipop
- Google Nexus 5 no se detecta por computadora / no aparece en el administrador de dispositivos
- Android Studio no detecta dispositivo Android en Windows 10
- Android SensorManager extraño cómo remapCoordinateSystem
- ADB no reconoce mi dispositivo
En términos de Bluetooth, "enlazados" y "emparejados" son básicamente sinónimos (oficialmente, el proceso de emparejamiento conduce a un bono, pero la mayoría de la gente los usa intercambiables). Para que su dispositivo se agregue a esa lista, debe pasar por el proceso de Discovery , que es cómo un dispositivo busca y encuentra otro, y luego empareje los dos juntos.
Realmente puede hacerlo desde la configuración del dispositivo como un usuario, pero si lo está buscando en el contexto de una aplicación, su proceso probablemente se verá así:
- Registre un
BroadcastReceiver
paraBluetoothDevice.ACTION_FOUND
yBluetoothAdapter. ACTION_DISCOVERY_FINISHED
BluetoothAdapter. ACTION_DISCOVERY_FINISHED
- Inicie el descubrimiento llamando a
BluetoothAdapter.startDiscovery()
- Su receptor se llamará con la primera acción cada vez que un nuevo dispositivo se encuentra en el rango, y se puede inspeccionar para ver si es el que desea conectarse. Puede llamar a
BluetoothAdapter.cancelDiscovery()
una vez que lo haya encontrado para no desperdiciar la batería más de lo necesario. - Cuando el descubrimiento está completo, si no lo ha cancelado, su receptor será llamado con la segunda acción; Así que usted sabe no esperar más dispositivos.
- Con una instancia de dispositivo en la mano, abra un
BluetoothSocket
yconnect()
. Si los dispositivos no están ya enlazados, esto iniciará el emparejamiento y puede mostrar alguna interfaz de usuario del sistema para un código PIN. - Una vez emparejado, su dispositivo aparecerá en la lista de dispositivos enlazados hasta que el usuario entre en la configuración y la elimine.
- El método
connect()
también abre el enlace de socket, y cuando regresa sin lanzar una excepción los dos dispositivos están conectados. - Ahora conectado, puede llamar a
getInputStream()
ygetOutputStream()
desde el socket para leer y escribir datos.
Básicamente, puede inspeccionar la lista de dispositivos enlazados para acceder rápidamente a un dispositivo externo, pero en la mayoría de las aplicaciones va a hacer una combinación de esto y descubrimiento verdadero para asegurarse de que siempre se puede conectar al dispositivo remoto independientemente de lo que el usuario hace. Si un dispositivo ya está enlazado, sólo estaría realizando los pasos 5-7 para conectarse y comunicarse.
Para obtener más información y código de ejemplo, consulte las secciones "Descubrimiento de dispositivos" y "Dispositivos de conexión" de la Guía Bluetooth SDK de Android .
HTH