共享和接收内容 (HTML)

[ 本文适用于编写 Windows 运行时应用的 Windows 8.x 和 Windows Phone 8.x 开发人员。如果你要针对 Windows 10 进行开发,请参阅 最新文档 ]

用户经常会碰到他们乐意与别人共享或者用在其他应用中的信息。共享是一项上下文中的轻便功能,易于添加到你的应用。

应用可以通过两种方式支持“共享”功能。首先,应用可以是提供用户要共享的内容的源应用。其次,应用可以是用户选择作为共享内容目标的目标应用。一个应用也可以既是源应用,也是目标应用。如果你希望你的应用作为源应用共享内容,则需要确定你的应用可以提供的数据格式。我们建议你支持尽可能多的数据格式,但是你最终应当选择对于你的应用最有意义的数据格式。在做出该决定之后,使用 Windows.ApplicationModel.DataTransfer 命名空间中的类将数据打包。

如果你希望你的应用作为目标应用接收共享的内容,则需要首先将你的应用的清单文件配置为指示它支持“共享”合约。

注意  

应用用户通过从“共享”超级按钮进行一次轻扫,即可共享应用中的内容。通过使用“设备”超级按钮上的“点击并发送”,用户可以与不同设备共享应用中的文件或 URL。

注意  

Windows Phone 8.1 上不存在“超级按钮栏”,因此开发人员必须通过编程方式将共享选项包含为应用栏或其他控件的一部分。

此“共享”合约允许在用户共享受支持的数据格式的情形下调用“共享”时,将你的应用表示为一个选项。为你的目标应用选择要支持的数据格式时,你仅应该注册你的应用可以处理的格式。有关更多指导,请参阅选择数据格式。当用户调用“共享”选项时,仅显示支持正在共享的数据的目标应用。

如果你使用的是 Visual Studio,则可以将“共享”合约添加到应用中,方法是在“项目”菜单中选择“添加新项”,然后从列表中选择“共享目标协定”。 在此过程中,你需要指定你的应用可以接受的数据格式和文件类型列表。在 Visual Studio 中编辑 package.appxmanifest 文件时,你可以在“声明”选项卡中指定格式。

要了解有关在你的应用部件清单文件中支持“共享”合约的详细信息,请参阅快速入门:接收共享内容以及程序包清单架构参考中的 ShareTarget

若要查看有关如何共享内容的示例,请查阅我们的共享内容源应用示例共享内容目标应用示例,或者通读我们的快速入门:共享内容快速入门:接收共享内容主题。

下图是共享工作原理的高级视图。

显示在共享中涉及的组件的块状图

注意  

QuickLink 在 Windows Phone 8.1 上不受支持。如果目标应用返回 Quicklink,则源应用将自动忽略它。

你可以指定在你的应用通过“共享”合约激活时所打开的形式。这样,你可以创建专门用于共享的自定义体验。你可以在内容共享指南和清单中找到有关此注意事项和其他设计考虑事项的详细信息。

注意  

如果你实现的是目标应用,请考虑 UI 体验。在 Windows 上,当用户选择你的应用时,它将使用“共享”浮出控件进行显示。此视图状态是应用在屏幕上的几种显示方式之一。确保你的应用提供一个清晰而又整洁的界面,用于在“共享”浮出控件中共享内容。

无法修改你的应用从源应用接收的内容。但是,你可以让系统知道你的应用已收到数据并指明它在何时处理完毕。这非常重要,对于可能需要花些时间处理和上载的内容(如图片)来说尤其如此。我们的共享内容目标应用示例显示了此操作的工作方式,你也可以查阅我们的快速入门:接收共享内容了解更多详细信息。

请记住,尽管这些角色(源和目标)有所不同,但是你可以在单个应用中同时支持这两个角色。例如,照片共享应用可能希望充当源应用,以便用户可以通过电子邮件将其照片发给他人;也可以充当目标应用,以便用户可以用新图片更新相册。

若要开始向应用中添加共享,请查阅以下主题和示例应用:

  • 内容共享指南和清单。无论你所编写的是源应用还是目标应用,此主题都可提供有用的信息来帮助你尽可能地提供内容共享方面的最佳用户体验。
  • 选择用于共享的数据格式。了解共享的标准格式,以及在标准格式不适用时如何创建和使用自定义格式。
  • 共享内容。此处你将了解如何实现源应用的基础知识。我们还将介绍更多具体场景,并详细介绍在实现过程中应注意的事项。
  • 接收共享内容。其中的主题将介绍如何向应用添加“共享”合约、如何检测用户是否选择你的应用来进行内容共享,以及如何处理共享的数据等基础知识。我们还将介绍一些具体的场景,以帮助你快速了解并掌握这些基础知识。
  • 共享内容源应用示例。该示例介绍如何启动共享操作以及如何打包用于共享的内容。
  • 共享内容目标应用示例。该示例介绍如何接收来自其他应用的共享内容。
  • 调试目标应用指南。了解在调试“共享”目标应用中涉及的问题。