0

これはバックグラウンド タスク コードで、REST クライアントを使用して生の通知を送信しました。

 public sealed class Class2:IBackgroundTask
{
    public void Run(IBackgroundTaskInstance taskInstance)
    {

        var def = taskInstance.GetDeferral();
        RawNotification notification = (RawNotification)taskInstance.TriggerDetails;
        string content = notification.Content;
        ToastTemplateType toastTemplate = ToastTemplateType.ToastText02;
        XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(toastTemplate);
        XmlNodeList textElements = toastXml.GetElementsByTagName("text");
        textElements[0].AppendChild(toastXml.CreateTextNode("You have pending items to sync"));
        textElements[1].AppendChild(toastXml.CreateTextNode("Please open the app to sync"));
        ToastNotificationManager.CreateToastNotifier().Show(new ToastNotification(toastXml));
        def.Complete();
        // ...

        // Insert code to start one or more asynchronous methods using the "await" keyword.
       // var result = await ExampleMethodAsync();

        // ...

       // _deferral.Complete();
    }
}

データは、次の図のように REST クライアントを使用して送信されます。

ここに画像の説明を入力

この生の通知を送信すると、アプリがクラッシュします。ただし、トースト通知を送信する場合、アプリは通知を表示しており、アプリを閉じるとバックグラウンド タスクがトリガーされません。

アプリがクラッシュし、バックグラウンド タスクがトリガーされない理由を誰か説明してもらえますか?

4

0 に答える 0