我正在开发一个WP8.1应用程序,当我尝试使用ShareMediaTask分享图片时,它会显示我将分享图片的应用列表。 Facebook,Twitter和Whatsapp等其他应用程序未包含在列表中;它显示我只与OneNote共享。注意我从安装了Facebook和Twitter的设备调试。 如果有人能够帮我谢天谢地。
这是我的简单代码:
ShareMediaTask shareMediaTask = new ShareMediaTask();
shareMediaTask.FilePath = fileName;
shareMediaTask.Show();
我必须添加一些东西吗?!
答案 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。