2016-01-14 12 views
0

Я хочу вытащить данные датчика из группы с помощью приложения UWP на окнах 10 iot малины pi. Приложение работает отлично, когда работает на Windows 10, однако при запуске на Windows 10 iot он показывает ошибки.Поддерживает ли Microsoft Band SDK приложение UWP в Windows 10, чтобы вытащить данные из группы?

Казни перерывов в авто сгенерированного кода в App.gics файла:

#if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION 
     UnhandledException += (sender, e) => 
     { 
      if (global::System.Diagnostics.Debugger.IsAttached)global::System.Diagnostics.Debugger.Break(); 
     }; 
#endif 

В стеке вызовов он показывает:

FFM.exe FFM.App.InitializeComponent.AnonymousMethod__5_1 (объект отправителя, Windows.UI.Xaml.UnhandledExceptionEventArgs е) линия 53 C#

линия 53 имеет автоматический сгенерированный код:

if (global::System.Diagnostics.Debugger.IsAttached)global::System.Diagnostics.Debugger.Break(); 

вывод Debug показывает следующее:

Exception thrown: 'System.NotImplementedException' in mscorlib.ni.dll 

Группа имеет возможность подключения к окнам 10 ИТН Raspi, но как только есть код, который запрашивает согласия пользователя на доступ к данным датчиков HeartRate, указанные ошибки начните показ.

Ниже приводится мой код для получения согласия пользователя. Большая часть этого из диапазона SDK Документация:

private async void connect() 
{ 
    //Get a list of paired bands 
    IBandInfo[] pairedBands = await BandClientManager.Instance.GetBandsAsync(); 
    string band_name = pairedBands[0].Name; 
    if (band_name.Length > 0) 
    { 
     bandName.Text = "Band Name is: " + band_name; 
     try 
     { 
      fwVer.Text = "Will try to connect to band"; 
      IBandClient bandClient = await BandClientManager.Instance.ConnectAsync(pairedBands[0]); 

      fwVer.Text = "Connected to Band"; 

      fwVersion = await bandClient.GetFirmwareVersionAsync(); 
      hwVersion = await bandClient.GetHardwareVersionAsync(); 

      fwVer.Text = "Firmware Version is " + fwVersion; 
      hwVer.Text = "Hardware Version is " + hwVersion; 

      string band1v = "9"; 
      if (hwVersion.Equals(band1v, StringComparison.Ordinal)) 
      { 
       // Do work with Version 1 of the band 
       bandVer.Text = "Band is Version 1"; 

       //User consent check to use heartbeat sensor data 
       if (bandClient.SensorManager.HeartRate.GetCurrentUserConsent() != UserConsent.Granted) 
       {  
        //Get user consent 
        await bandClient.SensorManager.HeartRate.RequestUserConsentAsync(); 
       } 
       if (bandClient.SensorManager.HeartRate.GetCurrentUserConsent() == UserConsent.Granted) 
       { 
        //DO work 
       } 
       else 
       { 
        hrConsent.Text = "Access to HeartReat sensor is denied"; 
       } 
      } 
      else //Its a 2nd version of band 
      { 
       //Do work with version 2 of the band 
       bandVer.Text = "Band is Version 2"; 
      } 
     } 
     catch (BandException ex) 
     { 
      //handle a band connection exception 
      fwVer.Text = "Could not connect to above band"; 
     } 
    } 
    else 
    { 
     bandName.Text = "No Available Bands"; 
    } 
} 

Ниже перечислены библиотеки, я использую:

using System; 
using System.Threading; 
using System.Collections.Generic; 
using System.Collections.ObjectModel; 
using System.IO; 
using System.Linq; 
using Windows.Foundation; 
using Windows.Foundation.Collections; 
using Windows.UI; 
using Windows.UI.Core; 
using Windows.UI.Xaml; 
using Windows.UI.Xaml.Controls; 
using Windows.UI.Xaml.Controls.Primitives; 
using Windows.UI.Xaml.Data; 
using Windows.UI.Xaml.Input; 
using Windows.UI.Xaml.Media; 
using Windows.UI.Xaml.Navigation; 

using Microsoft.Band; 
using Microsoft.Band.Sensors; 
using Microsoft.IoT; 

using Windows.Devices.Bluetooth; 
using Windows.Devices.Bluetooth.GenericAttributeProfile; 

ответ

2

Когда приложение вызывает RequestUserConsentAsync() Группа SDK отображает диалоговое сообщение пользователю получить, что согласие. Однако, похоже, что Windows.UI.Popups.MessageDialog еще не поддерживается ядром IoT Windows (см. unavailable API list).

Это может быть причиной исключения.