¿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.

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í:

  1. Registre un BroadcastReceiver para BluetoothDevice.ACTION_FOUND y BluetoothAdapter. ACTION_DISCOVERY_FINISHED BluetoothAdapter. ACTION_DISCOVERY_FINISHED
  2. Inicie el descubrimiento llamando a BluetoothAdapter.startDiscovery()
  3. 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.
  4. 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.
  5. Con una instancia de dispositivo en la mano, abra un BluetoothSocket y connect() . 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.
  6. Una vez emparejado, su dispositivo aparecerá en la lista de dispositivos enlazados hasta que el usuario entre en la configuración y la elimine.
  7. 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.
  8. Ahora conectado, puede llamar a getInputStream() y getOutputStream() 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

  • ¿Cómo ejecutar logcat en varios dispositivos?
  • Eclipse detectando el mismo dispositivo varias veces
  • Detalles del dispositivo WiFi Android WiFi
  • Está agregando skins android personalizados a dispositivos virtuales que faltan en ADT Eclipse (Juno)
  • Desarrollo de controladores de dispositivos Android - Punto de entrada
  • copia sqlite db al dispositivo android falla
  • No se puede mostrar el dispositivo android en ubuntu 13.04
  • ¿Existe una compilación de errores específicos del dispositivo para dispositivos Android?
  • Uso del selector de dispositivos Android Bluetooth
  • Cómo obtener mediante programación el ID de dispositivo para Admob?
  • Cambiar el nombre del dispositivo Android mostrado en Eclipse
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.