こんにちは、何かが足りないのか、それともこれが近視眼的な API に含まれていないのかはわかりません。
SDK はバックグラウンド タスク内からバンドに通知を送信できますか? これは私にとって最も便利なことの1つに思えますが、試してみるとエラーが発生します。「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() で