OutputStream.write() 永远不会结束

问题描述 投票:0回答:1

我有一辆带有蓝牙接口的汽车,我使用我的 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() 仍然尝试写一些东西。不知道为什么会出现这种情况,有什么解决办法吗?

java outputstream
1个回答
1
投票

像这样调用 write() 后尝试使用flush()函数

OutputStream.write(signal.getBytes());OutputStream.flush();
© www.soinside.com 2019 - 2024. All rights reserved.