Ste*_*n V 1 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)
Run Code Online (Sandbox Code Playgroud)
异常和堆栈跟踪:
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()
小智 5
是的,目的是您应该能够从后台任务连接到乐队并操纵乐队.但是,Band SDK Preview(1.3.10219-preview)存在一个已知问题,该问题阻止在后台任务中运行的代码中创建IBandClient.