Microsoft Band 2 + UWP + фоновая задача => Произошла ошибка при попытке получить службу устройства Bluetooth

Я пишу приложение Windows 10 UWP на своем Surface Pro 3, которое подключено к моему Microsoft Band 2, и я могу без проблем подключиться к нему, когда запускаю приложение на переднем плане.

Но теперь я пытаюсь использовать DeviceUseTrigger и запустить некоторую логику в фоновой задаче. Когда я вызываю метод для подключения к группе:

var bandInfo = (await BandClientManager.Instance.GetPairedBandsAsync()).FirstOrDefault();
var bandClient = await BandClientManager.Instance.ConnectAsync(bandInfo);

Я получаю следующую ошибку:

Произошла ошибка при попытке получить услугу устройства Bluetooth. Эта ошибка может возникнуть, если сопряженное устройство недоступно или не связано с текущим хостом.

Я добавил следующие возможности в свой appxmanifest UWP:

<DeviceCapability Name="bluetooth" />
<DeviceCapability Name="location" />
<DeviceCapability Name="proximity" />
<DeviceCapability Name="bluetooth.rfcomm">
   <Device Id="any">
     <Function Type="serviceId:A502CA9A-2BA5-413C-A4E0-13804E47B38F" />
     <Function Type="serviceId:C742E1A2-6320-5ABC-9643-D206C677E580" />
   </Device>
</DeviceCapability>

А это мое объявление фоновой задачи:

<Extensions>
  <Extension Category="windows.backgroundTasks" EntryPoint="WindowsRuntimeComponent1.BandBackgroundTask">
     <BackgroundTasks>
        <Task Type="deviceUse" />
      </BackgroundTasks>
   </Extension>
</Extensions>

person Gert C.    schedule 06.05.2016    source источник


Ответы (1)


Просто предположение, но этот абзац из документации Band SDK возможно, помочь с вашим вызовом GetPairedBandsAsync?

Если ваше приложение хочет подключиться к Band в фоновом режиме, тогда приложение должно вызвать GetBandsAsync(isBackground: true), чтобы получить подключение, которое не будет мешать работе любого приложения, которое работает на переднем плане и в настоящее время использует подключение Band.

person sibbl    schedule 06.05.2016
comment
Спасибо за ответ, я пропустил эту часть документации. Я изменил это сейчас, но, к сожалению, я все еще получаю ту же ошибку. Понятия не имею, что я делаю не так... :/ - person Gert C.; 08.05.2016