我正在通过Windows Phone 8.1和Windows 8.1上的应用程序分享一些带有Facebook链接的文本。我想为社交媒体(我想成为“我的应用程序的链接#MyApp”)以及电子邮件和文本(我想成为“我的一点点文本”)提供不同的文本。
在Windows手机中,以下代码有效:
DataRequest request = GetMyDataRequest();
// for social media
request.Data.SetRtf("My App's link #MyApp");
// for email and text
request.Data.SetText("My little bit of text");
然而,当谈到Windows 8.1时,电子邮件和社交媒体都使用request.Data.SetText()函数 - 所以我看到电子邮件和社交媒体的“我的一点点文字”,当我想要社交媒体时是不同的文字。
所以我的问题是,当我分享一些文字时,如何让Windows 8.1像Windows手机一样运行。或者可能如何确定我想要做什么样的共享(电子邮件,文本,社交媒体)并设置相关文本(我不确定这是否可行)。或许问题是何时以及为什么使用SetRtf / SetText,是否可以覆盖它?
由于
答案 0 :(得分:2)
共享合同背后的假设是源应用程序(您的)有一个内容要共享,但内容可能有不同的表示或访问它的方式。例如,您可以将纯文本块作为纯文本,RTF或HTML共享,后两种格式提供了扩展其格式的机会。同样,您可以将图像共享为位图,文件或云资源的URI。
在共享操作的另一端,每个目标应用程序可能只能理解或处理您提供的某些格式的子集,并会根据其认为合适的格式从DataPackage中提取这些格式。给定应用程序处理的格式(以及优先顺序)完全取决于该应用程序的开发人员,因此您无法对“社交媒体”等类别的应用程序做出假设。