LaunchUriAsync 仅适用于 PushNotificationTrigger BackgroundTask 中连接的调试器

问题描述 投票:0回答:3

目前,当用户接受 VOIP 呼叫时,我们正在尝试使用

LaunchUriAsync
从 PushNotificationTrigger BackgroundTask 启动应用程序。
LaunchUriAsync
仅适用于附加的调试器,一旦分离调试器
LaunchUriAsync
就会停止启动应用程序。重新连接到进程后,它再次开始工作。

public sealed class PushNotificationReciever : IBackgroundTask
    {

        public async void Run(IBackgroundTaskInstance taskInstance)
        {
            BackgroundTaskDeferral _deferral = taskInstance.GetDeferral();
            RawNotification notification = (RawNotification)taskInstance.TriggerDetails;
            await Windows.System.Launcher.LaunchUriAsync(new Uri("custom:\\data"));
            deferral.Complete();
        }
    }
c# .net uwp windows-10-universal background-task
3个回答
1
投票

文档指出:

除非您从 Windows 桌面应用程序调用此 API,否则必须从 ASTA 线程(也称为 UI 线程)内调用此 API。

您无法从后台任务执行此操作。


0
投票
后台任务中的

LaunchUriAsync
适用于我的目标版本
1803
。更改为
1809
及更高版本会破坏它。


0
投票

您是否考虑过根据文档在 LauncherOptions 对象上调用 WinRT.Interop.InitializeWithWindow.Initialize?

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.