使用后台任务设置剪贴板内容[Windows 10] [UWP]

Sae*_*ini 5 c# uwp

我正在开发通用Windows 10应用程序.目前,我有一个后台任务,一旦用户收到通知就会触发.此BG任务的目的是复制通知的内容.问题是Clipboard.setcontent方法似乎是单线程的,而不是多线程BG任务.我尝试过使用corewindow调度程序,但是没有用,我也尝试过使用任务.有人能指出我的解决方案吗?

例如,后台任务中的以下代码会抛出异常:

不支持从MTA激活单线程类(HRESULT的异常:0x8000001D).

码:

var dataPackage = new DataPackage { RequestedOperation = DataPackageOperation.Copy };
dataPackage.SetText("Hello World!");
Clipboard.SetContent(dataPackage);
Run Code Online (Sandbox Code Playgroud)

小智 4

将内容保存到某处,并在应用程序即将恢复时将字符串分配到剪贴板。

await Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
() =>
{
    var dataPackage = new DataPackage { RequestedOperation = DataPackageOperation.Copy };
    dataPackage.SetText("Hello World!");
    Clipboard.SetContent(dataPackage);

    getText();
});

private async void getText()
{
    string t = await Clipboard.GetContent().GetTextAsync();
}
Run Code Online (Sandbox Code Playgroud)