我的应用程序是共享目标应用程序,并且在应用程序运行且用户想要共享内容时遇到问题。我不能使用正在运行的应用程序中的框架,因为那时我得到一个“编组线程”异常。
应用程序调用了为不同线程编组的接口。\r\n\r\n未能初始化应用程序的根视觉对象
我OnStartAsync
在App.xaml.cs中的方法如下所示。
public override async Task OnStartAsync(StartKind startKind, IActivatedEventArgs args)
{
switch (DetermineStartCause(args))
{
// other cases
case AdditionalKinds.Other:
if (args is ShareTargetActivatedEventArgs)
{
var shareArgs = args as ShareTargetActivatedEventArgs;
if (shareArgs.PreviousExecutionState != ApplicationExecutionState.Running)
{
Uri webUrl = await shareArgs.ShareOperation.Data.GetWebLinkAsync();
Debug.WriteLine(webUrl.AbsoluteUri);
//shareArgs.ShareOperation.ReportStarted();
NavigationService.Navigate(typeof(Views.MainPage), webUrl.AbsoluteUri);
}
else
{
await CoreApplication.Views.First().Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async () =>
{
Uri webUrl = await shareArgs.ShareOperation.Data.GetWebLinkAsync();
var nav = NavigationServiceFactory(BackButton.Attach, ExistingContent.Exclude);
Window.Current.Content = new Views.ShareLaunch();
Window.Current.Activate();
});
}
}
break;
}
}
我不确定如何处理其他条件,ShareTargetActivatedEventArgs
即应用程序已经运行的情况。我在 Stackoverlow 上发现了一个类似的问题,但它不使用 Template10 库。如何使用 Template10 库处理这种情况。