锁屏概述(Windows 运行时应用)

Applies to Windows and Windows Phone

本文讨论有关锁屏上的应用外观的概念和术语。锁屏在锁定设备时,以及重新启动设备或从睡眠状态唤醒它时显示。它是一个用户可自定义的界面,即可传达信息,又可保护计算机不被未授权使用。

Windows 8 锁屏服务于三个基本目的:

  1. 阻止对触摸设备的意外登录尝试
  2. 为用户提供个性化的图面
  3. 向用户显示轻型信息:
    1. 日期和时间
    2. 网络和电池状态
    3. 来自一组有限应用的通知

下图显示了 Windows 设备上的锁屏。

锁屏

锁屏内容

锁屏包含一组系统、用户和应用内容。用户可以通过设备的“设置”自定义背景图像。向选定的图像应用一种透光涂料效果,以提高锁屏文本和图标的可见性。始终显示日期和时间,无法自定义。还始终显示网络图标,并为使用电池运行的设备显示电池图标。

应用可以向锁屏反映三种不同类型的信息:

  • 应用磁贴当前的锁屏提醒
  • 应用磁贴的最近磁贴通知中的文本
  • 消息通知

一个锁屏上一次可以显示多个应用。其中的每个应用都可以显示锁屏提醒和 Toast,但只有一个应用可以显示其最新磁贴通知的文本(虽然它没有任何伴随的图像)。

只要你的应用在锁屏上已被授予磁贴或锁屏提醒条,并且在应用的 Package.appxmanifest 文件中声明了支持 Toast ,那么当设备锁定时,你的应用发送的任何 Toast 通知都将显示在锁屏上。锁屏上显示的 Toast 同时包括图像(如果存在)和文本。针对 long-duration toast 的长度显示 Toast。

  • Applies to Windows Phone

在 Windows Phone 上,将按照普通的时长显示 Toast。

你的应用应该在锁屏上吗?

锁屏的设计宗旨是显示用户可快速了解的信息。用户应该无需长期凝视屏幕即可接收信息。要放在锁屏上的最佳候选应用仅通过一个锁屏提醒和徽标图标即可传达可理解的、无需上下文的总结性信息。例如,显示一个包含未读邮件数量的锁屏提醒的邮件应用非常适合放在锁屏上。上图展示了显示星标图标旁边的数字 3 的示例锁屏提醒。

当用户将一个应用放在其锁屏上时,他们表明该应用提供的信息对他们很重要,所以应用应该通过锁屏传达实时的信息。例如,某个通信应用在收到消息或电话拨入时会通知用户。用户应该确信他们在浏览屏幕上的更新时看到的是最新的状态。

锁屏内容只是反映应用“开始”屏幕磁贴或锁屏提醒的内容,不需要任何额外的 API 调用。但是,因为在锁屏上锁屏提醒位于一个徽标图像旁边,而不是在磁贴上,并且只有磁贴更新的文本部分会显示,所以一些上下文会丢失,这可能是你的应用是否有资格添加到锁屏上的一个考虑因素。

应该仔细考虑应用被选中以在锁屏上显示详细信息状态(磁贴通知内容)的可能性。磁贴更新中的图像不会显示在锁屏上。因此,一个仅通过联系人图片表示更新来源的社交应用不是应显示在锁屏上的好候选应用,因为该上下文可能丢失。但是,一个具有文本式日历磁贴的应用将具有不错的效果。

有关详细信息,请参阅磁贴和锁屏提醒指南和清单的锁屏部分。

注意  不要只为播放声音或显示有关播放内容的信息而声明锁屏功能—这会自动发生。这项尤其适用于音乐播放器。锁屏槽有限,这样做将毫无意义地占用一个槽,可能使实际需要该槽的应用无法正常工作。

声明应用的锁屏功能

应用要成为锁屏候选应用,必须首先在应用的 Package.appxmanifest 文件中声明它的锁屏功能和元素。在该文件的 XML 结构中,除非另有说明,否则此信息会添加到 VisualElements 元素中。然而,在后面的内容中,我们假定你使用的是 Microsoft Visual Studio 清单编辑器。

注意  有关详细步骤,请参阅快速入门:在锁屏上显示磁贴和锁屏提醒更新

锁屏磁贴显示类型

如果你使用的是 Visual Studio 清单编辑器,请在“应用程序”选项卡中选择相应的“锁屏通知”选项。选项包括:

  • 锁屏提醒:你的应用在锁屏上只能显示锁屏提醒。
  • 锁屏提醒和磁贴文本:你的应用在锁屏上可同时显示锁屏提醒和详细状态。

选择任一选项假设如果为此用户启用了 Toast,应用的 Toast 通知将显示在锁屏上。

注意  设置“锁屏通知”选项不会将你的应用放置在锁屏上—仅用户可以执行此操作—该选项只是向用户提供这些可能性。

锁屏提醒徽标

当应用的锁屏提醒显示在锁屏上时,它会显示在应用图标的旁边。这个图标特定于你的锁屏提醒,通过清单与应用在磁贴上或搜索结果中使用的徽标图像一起提供。示例如下所示:星星是锁屏提醒图标,数字 3 是数字锁屏提醒本身。

锁屏的锁屏提醒和图标示例

该图标必须符合以下要求:

  • 大小:24x24 像素(适用于 100% 缩放比例的图像)
  • 类型:.png
  • 颜色:单白色
  • 透明度:任意

如果磁贴当前未显示锁屏提醒,锁屏上的锁屏提醒条中就不会显示任何内容(包括徽标)。

宽徽标

当锁屏显示来自某个磁贴更新的文本时,只会在宽形磁贴中显示。因此,如果声明锁屏提醒和磁贴文本选项,你必须为应用的磁贴提供一个宽徽标,否则清单将无效,应用将不会创建。宽形徽标作为可见资产在你的清单中声明为默认磁贴的一部分。有关详细信息,请参阅快速入门:使用 Microsoft Visual Studio 清单编辑器创建默认磁贴

如果锁屏上当前显示的磁贴通知被删除(例如到期),在新磁贴通知到来之前,它的位置不会显示任何内容。

后台任务

具有锁屏的应用必须声明以下后台任务类型之一:

  • 控件通道(仅限于 Windows)
  • 计时器
  • 推送通知

请注意,仅在将应用放置在锁屏上时,它才会运行后台任务。

在 Visual Studio 中,此值在清单编辑器的“声明”页中设置。添加“后台任务”声明,然后从显示的“属性”列表中选择特定的后台任务。如果手动创建清单文件,则在 BackgroundTasks 元素中声明后台任务,该元素是 Extensions 元素的子元素。

辅助磁贴

除了应用的主磁贴内容之外,应用的辅助磁贴内容也可以反映在锁屏中。操作方法如下:

提示用户将你的应用磁贴放在锁屏上

你的应用可要求用户将该应用通过 API 调用 (requestAccessAsync) 放在锁屏上。这会显示一个对话框,用户可以通过它选择“允许”或“不允许”。响应用户的选择时,你的应用将收到一个值(来自 BackgroundAccessStatus 枚举),该值基于用户响应以及用户为其锁屏所选择的其他应用的状态。此方法只能用于应用的主要磁贴,用户必须手动将合格的辅助磁贴添加到锁屏中。

如果在发出请求时所有锁屏位置都已放满,会向用户显示一个浮出控件,要求他们选择新应用应该替换哪个当前所选的应用。若要显示详细信息状态,用户必须手动将你的应用分配给该槽—不可以为它提供任何提示。

注意  一个应用仅允许请求锁屏访问一次。用户仅可以选择两个选项之一,因此已声明他们的首选项(尽管他们也可以取消该对话框,而不做出任何选择)。对 requestAccessAsync 的进一步调用将被忽略。这种情况有一个例外,就是锁屏提醒条全部占满,而且用户不选择使用请求访问的应用来替换现有应用。在该情况下,随后对 requestAccessAsync 的调用将再次显示确认 UI。有关详细信息,请参阅 Windows.ApplicationModel.Background.BackgroundAccessStatus

锁屏应用的用户管理

用户最终会控制其锁屏上显示的内容。他们可管理在锁屏上显示哪些应用,它们显示的顺序和可显示文本更新的单一应用。用户通过其设备的“设置”执行此操作。下图显示了 Windows 设备上的这些设置。当用户单击或触摸某个槽(灰色框)时,会显示一个浮出控件,其中会列出所有合格应用和辅助磁贴供你选择。

显示了“个性化”页面的“PC 设置”应用

  • Applies to Windows

在 Windows 设备上,用户可在应用的“设置”窗格中的“权限”部分开关应用的锁屏权限(和关联的后台访问),如下所示。注意,此操作仅适用于应用的主要磁贴。用户必须通过“电脑设置”中的“个性化”页面将辅助磁贴手动添加到锁屏中。这些设置在 Windows Phone 上不可用。

权限窗格

向锁屏发送信息

将应用放在锁屏上之后,无需再进行其他操作即可将通知路由到该锁屏中。Windows 通常会路由锁屏提醒更新、磁贴更新和 Toast,当锁屏处于活动状态时,它们将显示在锁屏上。事实上,你的应用无法知晓它是否具有锁屏外观。因为它无法基于该信息更改其行为,所以当确定是否要求锁屏提醒条时,应该仔细考虑这一事实。

注意  锁屏中显示的通知不使用通知队列。仅最新的磁贴更新显示在锁屏上。

相关主题

锁屏应用示例
快速入门:在锁屏上显示磁贴和锁屏提醒更新
磁贴和锁屏提醒指南和清单
锁屏提醒概述
快速入门:发送磁贴更新
快速入门:发送 Toast 通知
辅助磁贴概述
快速入门:固定辅助磁贴

 

 

显示:
© 2015 Microsoft