5

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

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

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

代码:

var dataPackage = new DataPackage { RequestedOperation = DataPackageOperation.Copy };
dataPackage.SetText("Hello World!");
Clipboard.SetContent(dataPackage);
4

1 回答 1

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();
}
于 2015-08-24T11:19:14.227 回答