Microsoft Band SDK预览 - 后台任务中的NotificationManager

时间:2015-02-25 13:21:51

标签: c# windows-runtime windows-phone-8.1 microsoft-band

您好我不确定我是否遗漏了某些内容,或者这是否属于我认为近似无视的API内。

SDK可以在后台任务中向乐队发送通知吗?这似乎是对我来说最有用的事情之一,但当我尝试时,我得到一个错误。 ' bandClient.NotificationManager.SendMessageAsync'是它抛出异常的地方。后台任务是计时器任务。

后台代码很简单,我在后台和UI线程上尝试过。

            {

                // Get the list of Microsoft Bands paired to the phone.

                IBandInfo[] pairedBands = await BandClientManager.Instance.GetBandsAsync();

                if (pairedBands.Length < 1)

                {

                    deferral.Complete();

                }


                // Connect to Microsoft Band.

                using (IBandClient bandClient = await BandClientManager.Instance.ConnectAsync(pairedBands[0]))

               {


                    await bandClient.NotificationManager.SendMessageAsync(myTileId, "Earnings", currentDollars.ToString(), DateTimeOffset.Now, f);

                }

            }

            catch (Exception ex)

异常和堆栈跟踪:

  

ex = {System.Exception:灾难性故障(来自HRESULT的异常:   0x8000FFFF(E_UNEXPECTED))

     

在Windows.UI.Xaml.Application.get_Current()

     

在Microsoft.Band.BandClientManager.d__2.MoveNext()

     

---来自先前位置的堆栈跟踪结束...

     

在Windows.UI.Xaml.Application.get_Current()

     

在Microsoft.Band.BandClientManager.d__2.MoveNext()

     

---抛出异常的前一个位置的堆栈跟踪结束---

     

在   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务   任务)

     

在   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务   任务)

     

在System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()

     

在   WindowsRuntimeComponent1.AppTileUpdater.d__8.MoveNext()

2 个答案:

答案 0 :(得分:5)

是的,目的是您应该能够从后台任务连接到并操纵乐队。但是,Band SDK Preview(1.3.10219-preview)存在一个已知问题,它阻止在后台任务中运行的代码中创建IBandClient。

答案 1 :(得分:0)

Backgroundtasks(以及其他一些东西)已在新版本中进行了排序,该版本今天将SDK取消预览。