Windows Phone 8.1(WINRT)共享任务



我想在我的wp8.1应用程序(winrt)上使用简单的共享任务。Silverlight的代码就像此

ShareStatusTask share = new ShareStatusTask();
share.Status = "some text";
hare.Show();

,但对Winrt不起作用。因此,基本上,我需要称呼该应用程序选择器来选择要共享字符串的应用程序。有任何想法吗?

Windows Phone 8.1分享新的共享方式就像Windows Store应用程序中的一种一样。Windows可以询问该程序是否有可以共享的内容,以及可能是什么。为此,您需要在视图中实现一个可以在DataTransferManager中共享并将其设置的函数。完整的代码可能看起来像:

 protected override void OnNavigatedTo(NavigationEventArgs e)
{
    // Register the current page as a share source.
    _dataTransferManager = DataTransferManager.GetForCurrentView();
    _dataTransferManager.DataRequested += OnDataRequested;
}
protected override void OnNavigatedFrom(NavigationEventArgs e)
{
    // Unregister the current page as a share source.
    _dataTransferManager.DataRequested -= OnDataRequested;
}
protected void OnDataRequested(DataTransferManager sender, DataRequestedEventArgs e)
{
    e.Request.Data.Properties.Title = "Some title";
    e.Request.Data.Properties.Description = "Some description"; // Optional 
    e.Request.Data.SetUri(new Uri("http://www.some_uri.com"));
}
In the example we use the SetUri to share an Uri. There are many different shares which is used to share different things:
 SetBitmap(RandomAccessStreamReference value)
SetApplicationLink(Uri value)
SetData(string formatId, object value)
SetDataProvider(string formatId, DataProviderHandler delayRenderer)
SetStorageItems(IEnumerable value)
SetStorageItems(IEnumerable value, bool readOnly)
SetText(string value)
SetUri(Uri value)
SetWebLink(Uri value)
SetHtmlFormat(string value)
SetRtf(string value)

如果OnDatareQuested需要一点时间,则可以使用延期来告诉操作系统您的应用程序尚未停止工作。您也可以调用来自代码的共享视图以显示。例如,如果您有共享菜单,并且在用户选择时想显示它。当您必须从某个地方调用此功能时:

datatransfermanager.showshareui();

最新更新