1

嗨,我不确定我是否遗漏了某些东西,或者这是否不在我认为短视的 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()

4

2 回答 2

5

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

于 2015-02-25T18:45:42.627 回答
0

后台任务(以及更多其他内容)已在新版本中进行了排序,该版本使 SDK 今天不再预览。

于 2015-04-30T23:58:12.730 回答