我们希望为我们的应用程序提供共享选项,以便我们可以将文件从SD卡上传到我们的应用程序,即类似于Onedrive / Notepad等中的共享选项。
在package.appxmainfest中,我们在声明中添加共享Target,并检查支持任何文件类型。在平板电脑的情况下它工作正常。对于手机而言,应用程序会在共享中列出,但是当我们选择我们的应用程序时,它会崩溃。
在选项卡上,当我们尝试共享时,它可以调用以下函数, protected override void OnShareTargetActivated(ShareTargetActivatedEventArgs args){}。此事件存在于app.xaml文件中 在手机的情况下,这个功能没有被调用,并且应用程序也崩溃了。
我们能否就如何解决崩溃问题提出一些建议,我们已按照Windows doc中提供的步骤进行操作。
添加代码段
protected override async void
OnShareTargetActivated(ShareTargetActivatedEventArgs args)
{
var absoluteUri = "";
var shareOperation = args.ShareOperation;
if (shareOperation.Data.Contains(StandardDataFormats.WebLink))
{
var uri = await shareOperation.Data.GetWebLinkAsync();
if (uri != null)
{
absoluteUri = uri.AbsoluteUri;
}
}
//Notify shareOperation that we are completed as soon as possible
shareOperation.ReportCompleted();
var rootFrame = new Frame();
rootFrame.Navigate(typeof(MainPage), absoluteUri);
Window.Current.Content = rootFrame;
Window.Current.Activate();
}