Вопрос заключается в том, как это исправить, такое ощущение, что перполняется буфер, но методов его очистки я не нашел. Пробовал [JAVA]OutputStream.flush();[/JAVA] не помогло
Передачу и подключение делаю через отдельный поток:
Код: Выделить всё
class ConnectedThread extends Thread{
BluetoothAdapter bluetooth1;
private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
BluetoothSocket clientSocket;
private BluetoothSocket mmSocket;
private OutputStream mmOutStream;
OutputStream tmpOut = null;
private static final String TAG = "bluetooth1";
public ConnectedThread()
{
bluetooth1 = BluetoothAdapter.getDefaultAdapter();
bluetooth1.enable();
BluetoothDevice device = bluetooth1.getRemoteDevice("00:13:02:01:72:69");
try {
mmSocket = device.createRfcommSocketToServiceRecord(MY_UUID);
} catch (IOException e) {
}
bluetooth1.cancelDiscovery();
try
{
mmSocket.connect();
}
catch(IOException e)
{}
try {
tmpOut = mmSocket.getOutputStream();
} catch (IOException e) { }
mmOutStream = tmpOut;
}
public void write(String message) {
Log.d(TAG, "...Данные для отправки: " + message + "...");
byte[] msgBuffer = message.getBytes();
try {
mmOutStream.write(msgBuffer);
}
}
catch (IOException e) {
Log.d(TAG, "...Ошибка отправки данных: " + e.getMessage() + "...");
}
}
}Код: Выделить всё
mConnectedThread = new ConnectedThread();
mConnectedThread.start();Код: Выделить всё
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
mConnectedThread.write("48");}