我收到一个GattCallback错误: 133当向device.It写入数据时,应用程序处于后台模式或终止状态。
using (IDevice _device = await adapter.ConnectToKnownDeviceAsync(deviceID, new ConnectParameters(false, false), cancellationToken: _cancellationTokenSource.Token))
{
_cancellationTokenSource = new CancellationTokenSource();
_cancellationTokenSource.CancelAfter(TimeSpan.FromSeconds(30));
// TestingValue("49");
using (IService _service = await _device.GetServiceAsync(Guid.Parse("00008592-0000-1000-8000-00805f7b45fg"), _cancellationTokenSource.Token))
{
if (_service != null)
{
ICharacteristic _characteristic =
await _service.GetCharacteristicAsync(Guid.Parse("00002a06-0000-1000-8000-00805f7b45fg"));
if (_characteristic != null)
{
_characteristic.WriteType = CharacteristicWriteType.WithoutResponse;
_cancellationTokenSource = new CancellationTokenSource();
_cancellationTokenSource.CancelAfter(TimeSpan.FromSeconds(30));
await _characteristic.WriteAsync(data, _cancellationTokenSource.Token);
await Task.Delay(3000);
}
}
}我想在我的ble设备中发出声音,当选择一个选项时,或者当通知到来时,app.It在一些设备上工作得很好,在一些设备上,当应用程序处于后台模式和终止状态时,我得到了133 Gatt错误,之后它并不能在所有状态下工作。
请帮帮我。
发布于 2020-02-13 18:46:51
我最近遇到了这个问题。在我的研究过程中,我在GitHub上发现了这个问题:https://github.com/xabre/xamarin-bluetooth-le/issues/276初始化ConnectParameters并将autoConnect设置为true似乎一针见血。我热切地鼓励你阅读这个话题。
new ConnectParameters(true, false)我将进一步调查这个问题,特别是在高手调用不是线程安全的情况下。
此外,在文档中:https://github.com/xabre/xamarin-bluetooth-le中有一些有趣的信息(“注意!重要备注/应用编程接口限制”和“最佳实践”部分),我想检查一下。
https://stackoverflow.com/questions/56712696
复制相似问题