#xamarin.forms #bluetooth
#xamarin.forms #bluetooth
Вопрос:
Я пытаюсь установить соединение Bluetooth Classic (SPP) (т. Е. Не BLE) с зондом Bluetooth в приложении Xamarin Forms (для Android и iOS). Я начал использовать этот плагин: https://github.com/rostislav-nikitin/Plugin .BluetoothClassic. Который, по-видимому, по большей части работает нормально, но, похоже, нет способа обнаружить новые устройства с помощью этого плагина. Он позволяет подключаться только к текущим подключенным устройствам, что странно, поскольку у него есть startDiscovery
метод. Я не могу понять, как обращаться с обнаружением устройства. Кроме того, я пытался использовать https://github.com/xabre/xamarin-bluetooth-le плагин (который кажется очень популярным). Однако, похоже, этот плагин работает только с устройствами BLE и не может найти устройства Bluetooth Classic. Любые рекомендации будут высоко оценены 🙂
Комментарии:
1. К вашему сведению, я считаю, что невозможно «обнаружить устройства» в приложении iOS, устройство Bluetooth сначала должно быть подключено к телефону. Однако я знаю, что это возможно в Android.
Ответ №1:
В итоге я создал интерфейс в рамках общего проекта C #. Затем Android-проект приложения Xamarin Forms реализует эту функциональность для обнаружения устройств Bluetooth с использованием собственного класса BluetoothAdapter. Затем я могу передать эти устройства и их адреса обратно в общий проект, используя MessagingCenter
. Я не полностью исследовал обнаружение устройств в iOS, но на данном этапе я просто использую метод плагина BluetoothClassic для adapter.BondedDevices
. Надеюсь, это возможно и на iOS, но на данном этапе, я думаю, это просто ограничение платформы.
Комментарии:
1. Не могли бы вы предоставить пример кода о том, как именно вы это сделали? Это было бы очень удобно. Спасибо.
2. Привет @Radek, я не могу предоставить точный пример кода. Но это было возможно благодаря
DependencyService
. В MSDocs есть действительно хорошая документация здесь: docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals /…