2011-04-23 23 views
5

Deseo iniciar una solicitud de asociación (no conexión en este momento) a un dispositivo que no sea de Android. Puede encontrarlo en Configuración Aplicación> Red> Configuración de Bluetooth> Haga clic en un dispositivo después de escanear. Aparece una ventana emergente en ambos dispositivos con un pin de 6 dígitos.Android Bluetooth - Cómo iniciar el emparejamiento

De acuerdo con la documentación del androide esto debería haber aparecido en mi solicitud, así, si hago algo como esto

device.createRfcommSocketToServiceRecord(MY_UUID); 

Según documentación de la API de Android

"Una vez que se realiza una conexión con un dispositivo remoto por primera vez, una solicitud de emparejamiento es automáticamente presentada al usuario. "

Y también se menciona que

"La corriente de requieren dispositivos para ser emparejados antes de poder establecer una conexión RFCOMM Android API de Bluetooth. (emparejamiento se realiza automáticamente cuando inicia una conexión encriptada con las API de Bluetooth.) "

Incluso cuando utilicé la aplicación de chat Bluetooth de muestra cation (solo para probar si inicia un emparejamiento en la primera conexión) no funcionó.

También traté de usar un UDID genérico como "00001101-0000-1000-8000-00805F9B34FB", pero fue en vano.

No se pudo encontrar el código fuente de la aplicación de configuración (Android OS 2.1) para averiguarlo. Las fuentes disponibles en Android GIT eran para Android 2.3

Incluso si no puede responder la pregunta, solo señalando la configuración de los paquetes de Android Las fuentes de la aplicación para Android 2.1 podrían hacer el truco para mí.

Respuesta

3

Me funciona con este UUID: "00001101-0000-1000-8000-00805F9B34FB". El intento de emparejamiento se inicia cuando llamas a socket.connect() si recuerdo correctamente.

+0

que trabajó para mí, finalmente, cuando he eliminado la aplicación y quité el emparejamiento de ambos dispositivos (que he creado manualmente antes). No sabía qué era defectuoso, puede ser que estuve intentando demasiadas cosas para que funcione. –

+2

@roly Solo por curiosidad: ¿De dónde viene ese UUID? – AgentKnopf

+4

@Zainodis Está citado en d.android.com aquí: [enlace] (http://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#createInsecureRfcommSocketToServiceRecord (java.utilmuneID)) (Como sugerencia) – roly

Cuestiones relacionadas