1

こんにちは、何かが足りないのか、それともこれが近視眼的な 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() で

4

2 に答える 2

5

はい、その意図は、バックグラウンド タスクから Band に接続して操作できるようにすることです。ただし、Band SDK プレビュー (1.3.10219-preview) には既知の問題があり、バックグラウンド タスク内で実行されているコードで IBandClient を作成できません。

于 2015-02-25T18:45:42.627 に答える