Невозможно найти устройства Bluetooth с помощью InTheHand.BluetoothC#

Место общения программистов C#
Anonymous
Невозможно найти устройства Bluetooth с помощью InTheHand.Bluetooth

Сообщение Anonymous »

Я использую MAUI .NET. Я хочу сохранить все устройства Bluetooth в диапазоне устройства, на котором выполняется код, в коллекцию. Вот пример кода, вызываемый после нажатия кнопки.

Код: Выделить всё

private async void OnButtonBluetoothClicked(object sender, EventArgs e)
{
bool isBluetoothAvailable = await Bluetooth.GetAvailabilityAsync();
if (!isBluetoothAvailable)
{
await this.DisplayAlert("Error", "Bluetooth is unavailable.", "Exit");
if (Application.Current is null) throw new NullReferenceException();
Application.Current.Quit();
}
else
{
lblBluetoothSupport.Text = "Bluetooth available";
}

var devices = await Bluetooth.ScanForDevicesAsync(new RequestDeviceOptions { AcceptAllDevices = true });
lblBluetoothSupport.Text = $"Devices found: {devices.Count}";
foreach (var device in devices.ToList())
{
BluetoothDevices.Add(device);
Debug.WriteLine($"{device.Name} {device.Id} {device.Gatt}");
}
}
Первая часть кода работает как положено: если Bluetooth не включен, приложение закрывается. Вторая часть работает не так, как ожидалось. Независимо от того, сколько устройств с включенным Bluetooth находится в радиусе действия, независимо от того, сколько устройств подключено напрямую, независимо от того, работает ли приложение на Windows или Android, устройства всегда содержат ноль элементов.
Похоже, это не проблема с разрешениями. Вот разрешения Android: И разрешения Windows: Приложение должно работать как минимум на мобильных устройствах, но протестировать его в Windows проще, поэтому на данный момент оно тоже его поддерживает.


Подробнее здесь: https://stackoverflow.com/questions/790 ... -bluetooth

Вернуться в «C#»