OutputStream.write()永远不会结束

时间:2016-01-29 14:31:56

标签: java outputstream robot

我有一辆带有蓝牙接口的车,我使用我的Android应用程序连接到它。对机器人进行编程,以便当他获得数字1-5时,他会采取行动。 1 - 向前行驶 2 - 向后开车 3 - 左转 4 - 向右转 5 - 停止 我的应用程序中有5个按钮。他们的活动看起来像这样

public void button1(View view){
socket.write("1");
}

其中socket是保存BluetoothSocket并建立连接并具有写入功能的类:

public void write(String signal)
{
try
{
OutputStream.write(signal.getBytes());
Log.d("#Signal", " connected");
} catch (IOException e)
{
}
}

和!当我连接,并按下例如发送2的按钮时,机器人开始向后移动但我没有从行

获得消息
Log.d("#Signal", " connected");

所以看起来write(byte[] buffer)函数永远不会结束它的程序。按下一个按钮后,当我尝试按另一个按钮时,它不起作用。像OutputStream.write()仍然试图写一些东西。我不知道为什么会这样,任何解决方案?

1 个答案:

答案 0 :(得分:1)

在调用write()之后尝试使用flush()函数

OutputStream.write(signal.getBytes());OutputStream.flush();