【发布时间】:2016-01-29 14:31:55
【问题描述】:
我有一辆带有蓝牙接口的汽车,我使用我的 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() 仍然尝试写一些东西。不知道为什么会这样,有什么解决办法吗?
【问题讨论】:
-
你能做一个线程转储吗?在 Windows 上的控制台中使用 ctrl + break。
-
@Ferrybig 现在我什么都做不了,因为我的地方没有我连接的机器人,你打算在那之后做什么?顺便说一句,当我像 write(1) 一样发送单个 int 时,它会发送它并继续代码
标签: java outputstream robot