我正在使用通用Windows 10应用程序。目前,我有一个后台任务,一旦用户收到通知就会触发。此BG任务的目的是复制通知的内容。问题是Clipboard.setcontent方法似乎是单线程的,而不是多线程BG任务。我尝试过使用corewindow调度程序但是没有用,我也尝试过使用任务。有人可以指出我的解决方案吗?
E.g。后台任务中的以下代码抛出异常:
不支持从MTA激活单线程类(HRESULT异常:0x8000001D)。
代码:
var dataPackage = new DataPackage { RequestedOperation = DataPackageOperation.Copy };
dataPackage.SetText("Hello World!");
Clipboard.SetContent(dataPackage);
答案 0 :(得分:3)
将内容保存到某处,并在应用即将恢复时将字符串分配给剪贴板。
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();
}