C# 在Windows Phone 8.1共享合同中显示Viber、Whatsup

C# 在Windows Phone 8.1共享合同中显示Viber、Whatsup,c#,windows-phone-8.1,C#,Windows Phone 8.1,您好,我正在开发一个应用程序,通过Windows Phone 8.1中的共享合同在中共享图片。我的代码是 DataTransferManager dataTransferManager = DataTransferManager.GetForCurrentView(); dataTransferManager.DataRequested += new TypedEventHandler<DataTransferManager, DataRequestedEventArgs>(this

您好,我正在开发一个应用程序,通过Windows Phone 8.1中的共享合同在中共享图片。我的代码是

DataTransferManager dataTransferManager = DataTransferManager.GetForCurrentView();
dataTransferManager.DataRequested += new TypedEventHandler<DataTransferManager, DataRequestedEventArgs>(this.DataRequested);
DataTransferManager DataTransferManager=DataTransferManager.GetForCurrentView();
dataTransferManager.DataRequested+=新类型DevenHandler(this.DataRequested);

private async void DataRequested(DataTransferManager发送方,DataRequestedEventArgs args)
{
DataRequest=args.request;
request.Data.Properties.Title=“解读此”;
request.Data.Properties.Description=“”;
request.Data.SetText(string.Format(“加扰字为{0},线索为{1}。请帮助我解读此\r\n(通过Windows Phone的Unscamble Plus)”,scrambledString.ToUpper(),selectedMeanings.ToUpper());
DataRequestDeleral deleral=request.getDeleral();
//确保我们总是要求完成延期。
尝试
{
//StorageFile logoFile=await Package.Current.InstalledLocation.GetFileAsync(“资产\\Logo.png”);
StorageFile imagefile=await KnownFolders.PicturesLibrary.GetFileAsync(“pic.png”);
List storageItems=新列表();
添加(图像文件);
请求.数据.设置存储项(存储项);
}
最后
{
延迟。完成();
} 
}
此处显示的共享合同如下(仅包括Facebook、邮件应用程序)

但如果你看到Windows Phone的Sendtiment应用程序()中显示了许多应用程序,如Viber、Whatsapp和Twitter

如何在我的应用程序的共享合同中获得这些Viber、Whatsapp之类的应用程序

编辑:(添加)当我删除
request.Data.SetText(string.Format(“加扰字是{0}而线索是{1})。\r\n(通过Windows Phone的Unscramble Plus)”,scrambledString.ToUpper(),selectedMeanings.ToUpper())行,显示OneDrive

这可能会有帮助,也可以确保您共享的数据类型,因为只有内容类型匹配时,应用程序才会显示


例如,仅当您共享视频、图像而非电话联系人时,whatsapp才会显示。

如果您使用通用应用程序,whatsapp将不会显示。WhatsApp是WP8.1 Silverlight应用程序。
这就是问题所在

我想只有照片和视频可以分享:看看这些论文:@Kulasangar我想分享的是一张图片。。你们的评论对我来说毫无帮助。你们是在设备或模拟器上测试这个问题的吗?有没有可能有人找到了这个问题的解决方案(这是基于winrt的应用程序的问题)?
private async void DataRequested(DataTransferManager sender, DataRequestedEventArgs args)
{
    DataRequest request = args.Request;
    request.Data.Properties.Title = "Unscramble this";
    request.Data.Properties.Description = "";
    request.Data.SetText(string.Format("Scrambled word is {0} and clue is {1}. Help me to unscramble this \r\n(via Unscramble Plus for Windows Phone)",scrambledString.ToUpper(),selectedMeanings.ToUpper()));
    DataRequestDeferral deferral = request.GetDeferral();

    // Make sure we always call Complete on the deferral.
    try
    {
        //StorageFile logoFile = await Package.Current.InstalledLocation.GetFileAsync("Assets\\Logo.png");

        StorageFile imagefile = await KnownFolders.PicturesLibrary.GetFileAsync("pic.png");
        List<IStorageItem> storageItems = new List<IStorageItem>();
        storageItems.Add(imagefile);
        request.Data.SetStorageItems(storageItems);
    }
    finally
    {
        deferral.Complete();
    } 
}