蓝牙连接后,需要从手机端发送指令到蓝牙设备,然后得到蓝牙设备的返回。
但是只有第一次配对之后,可以接收到返回的数据,手机开关蓝牙几次,重新配对几次之后就接收不到了,华为手机一直接收不到。
下面是部分代码
const UUID = plus.android.importClass("java.util.UUID");
const MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
this.remoteDevice = btAdapter.getRemoteDevice(address);
this.btSocket = invoke(this.remoteDevice, "createInsecureRfcommSocketToServiceRecord", MY_UUID);
this.inputStream = invoke(this.btSocket, 'getInputStream');
this.outputStream = invoke(this.btSocket, 'getOutputStream')
//发送消息
invoke(this.outputStream, 'write', dataStr)
//接收消息
let dataArr = [];
while(invoke(this.inputStream, "available") !== 0) {
let data = invoke(this.inputStream, "read");
dataArr.push(data);
}
0 个回复