ShareMediaTask中缺少Facebook和Twitter

时间:2014-06-09 14:03:12

标签: c# facebook windows-phone-8 visual-studio-2013 windows-phone-8.1

我正在开发一个WP8.1应用程序,当我尝试使用ShareMediaTask分享图片时,它会显示我将分享图片的应用列表。 Facebook,Twitter和Whatsapp等其他应用程序未包含在列表中;它显示我只与OneNote共享。注意我从安装了Facebook和Twitter的设备调试。 如果有人能够帮我谢天谢地。

这是我的简单代码:

ShareMediaTask shareMediaTask = new ShareMediaTask();
shareMediaTask.FilePath = fileName;
shareMediaTask.Show();

我必须添加一些东西吗?!

1 个答案:

答案 0 :(得分:0)

您需要查看Sharing content的Windows运行时应用。 Silverlight和Runtime应用程序之间的共享是不同的。

以下是how to share files上的基本示例:

当您准备分享时:

DataTransferManager dataTransferManager = DataTransferManager.GetForCurrentView();
dataTransferManager.DataRequested += new TypedEventHandler<DataTransferManager, 
    DataRequestedEventArgs>(this.ShareStorageItemsHandler);

然后填充数据:

private async void ShareStorageItemsHandler(DataTransferManager sender, 
    DataRequestedEventArgs e)
{
    DataRequest request = e.Request;
    request.Data.Properties.Title = "Share StorageItems Example";
    request.Data.Properties.Description = "Demonstrates how to share files.";

    // Because we are making async calls in the DataRequested event handler,
    // we need to get the deferral first.
    DataRequestDeferral deferral = request.GetDeferral();  

    // Make sure we always call Complete on the deferral.
    try
    {
        StorageFile logoFile = 
            await Package.Current.InstalledLocation.GetFileAsync("Assets\\Logo.png");
        List<IStorageItem> storageItems = new List<IStorageItem>();
        storageItems.Add(logoFile);
        request.Data.SetStorageItems(storageItems);       
    }
    finally
    {
        deferral.Complete();
    }
}

只有实现共享的应用才会显示在列表中。目前Twitter和Facebook尚未发布实现共享的应用程序。

有关接收共享内容的详细信息,请参阅this doc