我有与蓝牙芯片通信的程序。
但我需要发送
(Send: "$$$" Receive: "CMD"
Send: "S&,0404\r" Receive: "AOK"
Send: "S&,0400\r" Receive: "AOK"
Send: "---\r" Receive: "END")
我写Byte
public void Zapis(String send) {
String editText = send ;
String tempHex = "";
byte bytes[] = editText.getBytes();
try {
if (outputStream != null) {
synchronized (obj2) {
outputStream.write(bytes);
}
} else {
Toast.makeText(getBaseContext(),
getResources().getString(R.string.wait),
Toast.LENGTH_SHORT).show();
}
} catch (IOException e) {
Log.e(TAG, ">>", e);
e.printStackTrace();
}
}
并调用此方法..
Zapis("$$$");
//Here I need DELAY command because now they come together in ONE command and it's wrong
Zapis("S&,0404\r");
//
Zapis("S&,0400\r");
//
Zapis("---\r");
我是这样的,我需要睡眠或睡眠一段时间,不是吗? 或者这个问题有人只是解决方案。
如果你有类似的问题它如何解决你?
由于
答案 0 :(得分:0)
在每个命令后添加睡眠..
Zapis("$$$");
Thread.sleep(100L);//100 ms delay
Zapis("S&,0404\r");
Thread.sleep(100L);//
Zapis("S&,0400\r");
Thread.sleep(100L);//
Zapis("---\r");
Thread.sleep(100L);