Ich möchte nach dem Lesen von einem Gerät (über Bluetooth-Buchse) schreiben Das Problem ist, dass die Weile (wahr) zu beenden, wenn der Sockel geschlossen ist, so kann ich nicht wieder schreiben. DieseSchreiben Sie einen Ausgangsstrom nach dem Lesen von Bluetooth-Buchse Android
ist der Code:
try {
// This will block until it succeeds in connecting to the device
// through the bluetoothSocket or throws an exception
bluetoothSocket.connect();
try {
connectingThread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
outstream = bluetoothSocket.getOutputStream();
outstream.write("P".getBytes());
instream = bluetoothSocket.getInputStream();
byte[] buffer = new byte[128]; // buffer store for the stream
int bytes; // bytes returned from read()
String readMessage = "";
// Keep listening to the InputStream until an exception occurs
while (true) {
try {
// Read from the InputStream
bytes = instream.read(buffer);
if(bytes!= -1){
// Send the obtained bytes to the UI activity
readMessage = new String(buffer, 0, bytes);
arrayList.add(readMessage);
biodyMsg = TextUtils.join("", arrayList);
}
} catch (Exception e) {
Log.d("Read Error", e.toString());
}finally {
outstream = bluetoothSocket.getOutputStream();
outstream.write("F".getBytes());
}
break;
}
} catch (IOException connectException) {
connectException.printStackTrace();
try {
bluetoothSocket.close();
} catch (IOException closeException) {
closeException.printStackTrace();
}
}
Können Sie mir helfen
Entschuldigung für die Ausnahme nicht setzen: java.io.IOException: Gebrochene Leitung –
Also der Peer hat die Verbindung zurückgesetzt. Was ist deine Frage? – EJP
Kann ich vor dem Zurücksetzen der Verbindung schreiben Ich möchte "F" nach Abschluss des Lesevorgangs senden –