我正在尝试创建一个Android应用程序,当用户点击按钮(保持按钮)时,应用程序将通过蓝牙将数据发送到蓝牙模块(HC-05),当用户释放按钮时,另一个应发送数据以停止汽车。 我尝试使用以下代码进行操作,但它无法正常运行:
forwardButton.setOnTouchListener(new View.OnTouchListener(){
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN){
sendData("F");
return false;
}
if (motionEvent.getAction() == MotionEvent.ACTION_UP){
sendData("S");
return true;
}
return true;
}
});
//This method is to send data
public void sendData(String data){
if(mBTSocket != null){
try{
mBTSocket.getOutputStream().write(data.getBytes());
Toast.makeText(getApplicationContext(), "Sent data " + data, Toast.LENGTH_SHORT).show();
}
catch (IOException io){
Toast.makeText(getApplicationContext(),"Unable to send data",Toast.LENGTH_SHORT).show();
}
}
}
我在另一端使用Arduino以及蓝牙模块来接收数据和进行处理。
但上面的代码不能正常工作,有时它会开始移动,并且不会在释放按钮时停止。
顺便说一下,这些方法都在 MainActivity 的 onCreate()方法内。
Plz帮助,我在代码中做错了什么。