2010-05-26 6 views
6

Tengo una pregunta sobre el acceso a las conexiones Bluetooth emparejado ya existentes ...Android: El acceso a una conexión ya emparejado

¿Cómo puede un servicio remoto detectar una conexión ya emparejado y esperar una transferencia de archivos de ella?

En todos los comentarios en stackoverflow, en tutoriales, libros electrónicos o en google siempre se muestra cómo crear una nueva conexión usando sockets, etc., pero no hay información sobre el acceso a una existente.

¿Es posible en absoluto? Si es así, ¿también puede decirme/mostrarme cómo? Por el momento no tengo ni idea de cómo empezar a usarlo.

Sería muy bueno si alguien puede ayudarme a empezar :)

Respuesta

2

emparejamiento sólo significa que los dos dispositivos se han autenticado entre si. No implica una conexión de socket abierta.

Después del emparejamiento, viene la conexión: un lado crea un socket de servidor y el otro dispositivo puede conectarse a él con un socket de cliente.

Creo que la confusión proviene de la combinación de dos conceptos: "ya emparejado" con "ya conectado". Emparejamiento solo significa que están autenticados. Los dispositivos no se pueden conectar sin el primer emparejamiento, pero el emparejamiento no conecta los dispositivos.

Para hacer una espera para una aplicación de transferencia de archivos que sería algo como esto:

  • dispositivo Make emparejable.
  • Desde el dispositivo B, busque dispositivos cercanos y cuando encuentre A, conéctelo (aquí es donde ingresa un código PIN secreto que tiene que coincidir en los dos dispositivos)
  • Ahora que los dispositivos están sincronizados, comience su servidor de archivos en el dispositivo A o B (luego crea un socket de servidor y espera las conexiones entrantes)
  • Luego, inicie una conexión al servidor de archivos desde el otro dispositivo.
  • Con los sockets abiertos, los datos pueden fluir.
+0

Hola, gracias por su respuesta. Hice varias pruebas con respecto a mi problema: Mi archivo se envía a través de "Object Push Profile" ... en mis pruebas no hay "Conexión" necesaria para iniciar una transferencia de archivos ... incluso no es necesario vincularlo. Pero el problema ahora es que solo se admiten algunos tipos de archivos (como gif, jpg, ...), pero no el que necesito (gpx). ¿Cómo puedo cambiar eso? Mi problema es abrir una aplicación cuando este tipo de archivo específico llegue a mi teléfono ... ¿es posible aquí? – poeschlorn

+1

Claro, puede simplemente crear un servicio que abra una toma de audición (debe tener un socket) y espera una conexión entrante. Al recibir una conexión, obtiene los datos y luego activa una intención para iniciar una aplicación o actividad o lo que quieras. –

+0

ok, voy a probar esto – poeschlorn

Cuestiones relacionadas