[英]Android - BLE module is longer busy after few seconds of connection
我编写了一个简单的应用程序,能够编写特定的特征。 我的应用基于google示例-https://github.com/googlesamples/android-BluetoothLeGatt 。 我添加了一些按钮,这些按钮在连接后可以将特定的字节写入字节。
现在我注意到的是,连接几秒钟后(总是少于5秒),它可以正常工作,但随后函数writeCharacteristic( https://developer.android.com/reference/android/bluetooth/BluetoothGatt.html#writeCharacteristic (android 。 bluetooth.BluetoothGattCharacteristic) )开始返回false。 我调试了一下,结果发现设备很忙。 我能够每1.5秒成功调用一次writeCharacteristic,与之相比,连接头几秒钟没有延迟是很慢的。
这是我的onClick功能片段:
public void onClick(View v) {
byte value[] = {0};
switch (v.getId()) {
case R.id.button1:
value[0] = 1;
mBulbCharacteristic.setValue(value);
mBluetoothLeService.writeCharacteristic(mBulbCharacteristic);
break;
case R.id.button2:
value[0] = 2;
mBulbCharacteristic.setValue(value);
mBluetoothLeService.writeCharacteristic(mBulbCharacteristic);
break;
case R.id.button3:
value[0] = 3;
mBulbCharacteristic.setValue(value);
mBluetoothLeService.writeCharacteristic(mBulbCharacteristic);
break;
default:
break;
}
}
设备“忙”仅表示响应未决。 Android的API要求您在发出新请求后等待相应的回调(例如onCharacteristicWrite进行写入)。 如果您认为花费太多时间,可以缩短连接间隔。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.