Estoy usando el chat bluetooth para conectarme y recibir datos desde un dispositivo bluetooth.Lectura de datos del dispositivo bluetooth en Android
uso el siguiente código para la lectura de datos:
public void run() {
byte[] buffer = new byte[1024];
int bytes;
Log.v("MR", "start listening....");
// Keep listening to the InputStream while connected
while (true) {
try {
// Read from the InputStream
Log.d("MR", "buffer in try");
bytes = mmInStream.read(buffer);
Log.d("MR", "input stream :"+(new String(buffer)));
// Send the obtained bytes to the UI Activity
mHandler.obtainMessage(Conn.MESSAGE_READ, bytes, -1, buffer).sendToTarget();
Log.d("MR", "buffer after");
} catch (Exception e) {
Log.e("MR", "Error :"+e.getMessage());
//
connectionLost();
// break;
}
Log.d("MR", "buffer after while");
}
}
El dispositivo está enviando datos todo el tiempo sin parar.
Con el código anterior consigo el mensaje de:
Log.d("MR", "buffer in try");
luego se va a la siguiente línea:
bytes=mmInStream.read(buffer);
y nunca regresa de esa llamada. Supongo que esto se debe a que comienza a leer datos del dispositivo y no se detiene hasta que se desconecta. ¿Cómo puedo leer una cierta cantidad de bytes a la vez?
EDITAR
A no ser que se quede con el código bytes = mmInStream.read(buffer);
debido a que Don; t obtener cualquier dato nuevo en el dispositivo?
º problema podría no ser la certeza de que i havce de escritura en la parte superior. Creo que debe ser el puerto el que hace la comunicación. ¿Es posible que los dos dispositivos estén conectados, pero en el zócalo no se transmite nada, hay algo que va mal con la comunicación? – prokopis
Upvotes sería lindo jaja ... espero que tengas cierto éxito – JPM
teniendo exactamente el mismo problema –