Я пытаюсь получить характеристики пользовательского сервиса BLE.У меня есть библиотека классов NETStandard, использующая NETCore build 17134 для связи Bluetooth.Затем эта библиотека используется в приложении WPF (.NET Framework 4.7.1.). Я могу подключиться к своему периферийному устройству BLE, а также прочитать общую службу, включающую аппаратную версию и т. Д. Однако, когда она переходит кполучить характеристики моего пользовательского сервиса, статус читает AccessDenied и массив характеристик пуст.Любая помощь будет принята с благодарностью.
Тот же код работает, когда он чисто UWP.Однако у меня нет возможности установить разрешения Bluetooth в настольном приложении, как в UWP.Я пытался работать от имени администратора и выполнять обходной путь, используя AppID / запись в реестре.Кажется, это не сработало, но, возможно, я просто сделал что-то не так.
Это известная проблема?Я читал, что со времени первоначального Обновления Создателя (15xxx) произошла некоторая регрессия, но все темы кажутся годовалыми.
protected async override Task<IList<ICharacteristic>> GetCharacteristicsNativeAsync()
{
var accessRequestResponse = await _nativeService.RequestAccessAsync();
// Returns Allowed
if (accessRequestResponse != Windows.Devices.Enumeration.DeviceAccessStatus.Allowed)
{
throw new Exception("Access to service " + _nativeService.Uuid.ToString() + " was disallowed w/ response: " + accessRequestResponse);
}
var allCharacteristics = await _nativeService.GetCharacteristicsAsync(Windows.Devices.Bluetooth.BluetoothCacheMode.Uncached);
// Status: AccessDenied
var status = allCharacteristics.Status;
// No error
var err = allCharacteristics.ProtocolError;
var nativeChars = allCharacteristics.Characteristics;
var charList = new List<ICharacteristic>();
foreach (var nativeChar in nativeChars)
{
var characteristic = new Characteristic(nativeChar, this);
charList.Add(characteristic);
}
return charList;
}
Любая помощь будет принята с благодарностью!