通过蓝牙延迟命令

时间:2016-01-31 20:21:34

标签: java android bluetooth

我有与蓝牙芯片通信的程序。

但我需要发送

(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");

我是这样的,我需要睡眠或睡眠一段时间,不是吗? 或者这个问题有人只是解决方案。

如果你有类似的问题它如何解决你?

由于

1 个答案:

答案 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);