Я занимаюсь разработкой собственного приложения для Android Xamarin, в котором для подключения устройств Bluetooth используется библиотека Plugin.BLE 1.3.0.На самом деле наше приложение должно иметь следующие функции, которые соединяют несколько устройств Bluetooth по одному и отключают эти устройства одно за другим.
Прелесть в том, что мы можем подключить устройство одно за другим, как и ожидалось, но мывозникают проблемы при отключении этого устройства.На самом деле, у меня есть 5 устройств Bluetooth, где я пытался подключиться одно за другим, а затем отключить устройство одно за другим.
В большинстве случаев это было успешно, но несколько раз устройство Bluetooth не отключалось, и светился светодиодне отключается.
Всякий раз, когда возникает проблема с отключением, я проверял экземпляр адаптера Bluethooth, но адаптер Bluethooth не поддерживает информацию о подключенном устройстве, которую мы отключили сейчас.Каким-то образом диспетчер Bluetooth (адаптер) потерял информацию об устройстве и оставался подключенным до тех пор, пока не перезагрузил мобильный телефон, после чего подключение к устройству было отключено.
Чтобы подключить устройство, я звоню по следующему коду:
bool UseAutoConnect = false;
CancellationTokenSource tokenSource = new CancellationTokenSource();
await CrossBluetoothLE.Current.Adapter.ConnectToDeviceAsync(device, new
ConnectParameters (autoConnect: UseAutoConnect, forceBleTransport: false), tokenSource.Token);
Чтобы отключить устройство, я вызываю следующий код:
await CrossBluetoothLE.Current.Adapter.DisconnectDeviceAsync(device);
ВозможноВы, пожалуйста, предложите, как обращаться с устройством отключения по одному, когда у нас есть несколько подключенных?
Конфигурация: -
Version of the Plugin: Plugin.BLE
version="1.3.0" targetFramework="portable46-net451+win81"
https://github.com/xabre/xamarin-bluetooth-le
Platform:: Android API 21
Device: Samsung Tab S3, Google Pixel XL, Samsung Galaxy J7 Prime (Android 7.0)