【问题标题】:Share text to facebook from Windows 8.1 and Windows Phone 8.1从 Windows 8.1 和 Windows Phone 8.1 将文本共享到 facebook
【发布时间】:2014-08-05 14:45:26
【问题描述】:

我正在分享一些文本,其中包含从 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 phone。或者可能我如何确定我想要做什么样的分享(电子邮件、文本、社交媒体)并设置相关文本(虽然我不确定这是否可能)。或者问题是何时以及为什么使用 SetRtf/SetText,是否可以覆盖它?

谢谢

【问题讨论】:

  • 因此,如果我删除 SetRtf() 方法,那么手机将使用 SetText() 值。但是,如果调用 SetRtf(),则 phone 使用 Rtf 值,但 Windows 不使用。这是为什么呢?

标签: windows-8.1 windows-phone-8.1


【解决方案1】:

共享合同背后的假设是源应用程序(您的)有一个内容要共享,但内容可能有不同的表示或访问它的方式。例如,您可以以纯文本、RTF 甚至 HTML 的形式共享一段文本,后两种格式提供了扩展其格式的机会。同样,您可以将图像共享为位图、文件或云资源的 URI。

在共享操作的另一端,每个目标应用程序可能只理解或处理您提供的格式的某些子集,并且会在它认为合适的时候从 DataPackage 中提取这些格式。给定应用程序处理哪些格式(以及以何种优先顺序)完全由该应用程序的开发人员决定,因此您无法对“社交媒体”等一类应用程序做出真正的假设。

【讨论】:

  • 当我说“社交媒体”时,我正在测试的是 facebook。我想也许 windows 和 windows phone 上的 facebook 应用程序处理共享合同的方式不同,所以 facebook windows phone 应用程序使用 rtf 而 facebook windows 8 应用程序不......?
  • 从你的话说,听起来使用不同的格式输出不同的消息并不是一个好方法,因为我无法控制消费应用程序将使用哪种格式。有没有办法能够向不同的应用程序发送不同的消息(因此电子邮件、文本和 Facebook 的消息不同)?或者共享的基本前提是所有格式都应该共享相同的信息,并且消费应用程序将选择它将使用哪种格式来共享内容?
  • 是的,基本前提是您应该共享一个共同的内容,但以尽可能多的格式表示它,以最大限度地增加将显示为目标的应用程序的数量。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 2014-11-21
  • 1970-01-01
  • 1970-01-01
  • 2014-09-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多