블루투스 장치에서 데이터를 연결하고 수신하기 위해 블루투스 채팅을 사용하고 있습니다.android에서 블루투스 장치에서 데이터 읽기
나는 독서 데이터를 다음 코드를 사용
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");
}
}
장치는 중단없이 데이터를 모든 시간을 보내고있다. 내가의 메시지를 얻을 수 위의 코드와
:bytes=mmInStream.read(buffer);
을 결코 그 호출에서 반환
Log.d("MR", "buffer in try");
그런 다음 다음 라인에 간다. 나는 장치에서 데이터를 읽기 시작하고 연결이 끊어 질 때까지 멈추지 않기 때문이라고 생각합니다. 한 번에 일정량의 바이트를 읽으려면 어떻게해야합니까?
편집
가 그것 때문에 돈 것을에 bytes = mmInStream.read(buffer);
코드에 체류하지 않는 한, t는 장치에서 다시 데이터를 얻을?
번째 문제는 내가 정상에 쓰기 havce하는 특정을하지 않을 수 있습니다. 나는 그것이 통신을하는 항구 일 것임에 틀림 없다라고 생각한다. 두 장치가 연결될 수 있습니까?하지만 소켓에는 아무 것도 전송되지 않습니다. 통신에 문제가있는 것이 있습니까? – prokopis
Upvotes 좋은 롤 것입니다 ... 당신이 어떤 성공을 가지고 – JPM
정확히 동일한 문제가 –