快速构建Windows 8风格应用33-构建锁屏提醒
引言
Windows Phone(8&7.5)和Windows 8引入了锁屏概念,其实做过Windows Phone 7.5应用开发者都知道7.5时代手机锁屏是不支持第三方开发者开发的。那么现在我们第三方开发者可以在Windows 8和Windows Phone 8的锁屏界面开发显示自己应用的信息了。
Windows 8 锁屏具有三种用途:
- 防止触控设备上的意外登录尝试;
- 为用户提供个性化的界面;
- 向用户显示精简的信息:日期和时间、网络状态和电池状态、来自有限个应用的通知;
一、锁屏提醒概览
Windows 8的锁屏上一次最多可显示 7 个应用。这 7 个应用都可以显示锁屏提醒和 Toast,但只允许其中一个应用显示其最新磁贴通知的文本。
我们可以在“电脑设置”中来添加要显示在锁屏上的应用。
关于锁屏更多详细信息可参考:锁屏概述(Windows 应用商店应用) (Windows)。
二、构建应用锁屏提醒
锁屏提醒是显示在磁贴右下角(或左下角)的数字或字形,通常用来指示应用状态。
锁屏提醒是磁贴上的重叠,而不是磁贴本身的一部分,另外锁屏提醒可以通过相关通知进行更新。
那么我们如何声明一个简单的应用锁屏提醒呢?
1.配置应用清单文件
- “应用程序UI”选项卡中选择“徽章徽标”,选择“锁定屏幕通知”,指定“徽章徽标”。
- “声明”选择卡中添加“后台任务“,选择”支持的任务类型“(注意:具有锁屏应用必须声明”控制通道“、”计时器“、”推送通知“三种后台任务类型之一),设置”应用程序设置“。
2.添加命名空间
1: using Windows.UI.Notifications;
2: using Windows.Data.Xml.Dom;
其中Windows.UI.Notifications 包含了锁屏提醒 API。
3.选择锁屏提醒上显示数字或字形
锁屏提醒可以显示数字 0-99 或系统定义的状态字形集。
显示数字:
1: XmlDocument badgeXml = BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeNumber);
或显示字形:
1: XmlDocument badgeXml = BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeGlyph);
4.为锁屏应用分配值
分配数字值:
1: XmlElement badgeElement = (XmlElement)badgeXml.SelectSingleNode("/badge");
2: badgeElement.SetAttribute("value", "7");
或分配字形值:
1: XmlElement badgeElement = (XmlElement)badgeXml.SelectSingleNode("/badge");
2: badgeElement.SetAttribute("value", "newMessage");
5.创建锁屏提醒通知并将其发送到锁屏提醒
将我们定义好的xml发送到锁屏提醒。
1: BadgeNotification badge = new BadgeNotification(badgeXml);
2: BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badge);
最后,我们也可以通过BadgeUpdateManager.CreateBadgeUpdaterForApplication().Clear()方法将锁屏提醒清除,另外锁屏提醒可以通过云清除。
通过以上几个步骤我们就可以出一个应用的锁屏提醒。
更多关于构建锁屏提醒的资料可参考:
- 快速入门:发送锁屏提醒更新(使用 C#/VB/C++ 和 XAML 的 Windows 应用商店应用) (Windows)
- 快速入门:在锁屏上显示磁贴和锁屏提醒更新(Windows 应用商店应用) (Windows)
三、锁屏提醒最佳实践
因为微软官方给到我们开发者非常详细的关于锁屏提醒最佳实践的方法,这里我简单提及一下。
例如:当应用在锁屏提醒上显示的是数字,并且该数字会大于50,那么我们推荐使用系统字形类型。
更详细关于锁屏提醒最佳实践的资料可参考:磁贴和锁屏提醒指南和清单(Windows 应用商店应用) (Windows)。
转载于:https://www.cnblogs.com/lonelyxmas/p/3988360.html
快速构建Windows 8风格应用33-构建锁屏提醒相关推荐
- 快速构建Windows 8风格应用13-SearchContract构建
本篇博文主要介绍如何在应用中构建SearchContract,相应的原理已经在博文<快速构建Windows 8风格应用12-SearchContract概述及原理>中阐述清楚. 如何在应用 ...
- 快速构建Windows 8风格应用15-ShareContract构建
本篇博文主要介绍共享数据包.如何构建共享源.如何构建共享目标.DataTransferManager类. 共享数据包 DataPackage(数据包)是共享数据标准. 共享数据格式可以是多种的,包括文 ...
- 《快速构建Windows 8风格应用》系列文章汇总
<快速构建Windows 8风格应用>系列的文章基于XAML+C#进行编写,汇总了Windows 8 Store应用开发过程中常用的开发技术点. 对于我个人来说,将自己平时学习和开发过程中 ...
- 快速构建Windows 8风格应用6-GridView数据控件
原文:快速构建Windows 8风格应用6-GridView数据控件 本篇博文主要介绍什么是GridView数据控件.如何构建常用的GridView数据呈现样式. 什么是GridView数据控件? G ...
- 快速构建Windows 8风格应用22-MessageDialog
快速构建Windows 8风格应用22-MessageDialog 原文:快速构建Windows 8风格应用22-MessageDialog 本篇博文主要介绍MessageDialog概述.Messa ...
- 快速构建Windows 8风格应用31-构建磁贴
引言 磁贴是吸引用户经常使用应用重要手段之一.我们可将应用程序内较好的内容使用磁贴进行展示. 另外应用程序磁贴是应用程序中的核心部分,而且很可能也是用户最常见到的部分,因此请好好利用动态磁贴来吸引用户 ...
- 如何在Windows 10 1709版本中保存锁屏壁纸
如何在Windows 10 1709版本中保存锁屏壁纸 [日期:2018-03-25] 来源:Linux公社 作者:醉落红尘 [字体:大 中 小] 许多用户似乎对Windows 10 Fall Cr ...
- 手动设置Windows 7的开关机、锁屏登陆界面壁纸
手动设置Windows 7的开关机.锁屏登陆界面壁纸 前些天,我操作自己PC机更改了喜欢的开关机.锁屏画面.以下简单记录操作的步骤: 1.选张喜欢的背景图(图片分辨率和我们PC机的系统显示分辨率一样大 ...
- 快速构建Windows 8风格应用32-构建辅助磁贴
引言 Windows Phone中,我们开发者可能会开发的一个功能点是将数据列表中某一项"Pin To Start(固定到开始屏幕)",大家都知道这种固定到开始屏幕的磁贴叫做辅助磁 ...
最新文章
- 深度学习最常用的10个激活函数
- java中的抛出异常throws与throw
- 四核处理器_(技术文档)你知道AMD Ryzen处理器中的CCX与CCD是什么吗?
- VTK修炼之道74:交互部件_Widget的创建
- jps,jstat,jinfo,jmap,jhat,jstack工具的使用/查看Linux磁盘信息
- spring mvc字符编码过滤器 CharacterEncodingFilter ,添加例外url
- 开源linux 二进制工具,又一款开源好物:逐字节分析的二进制数据分析工具bitinsight...
- opencv多通道图像转单通道
- 太美医疗:药物警戒(PV)人员的职业发展之道
- 电脑装windows和安卓双系统引导_Remix mini安卓电脑,玩的不只是Windows那张皮
- MPB:南农韦中组-​​根际细菌产铁载体能力的高通量检测
- DTI脑影像处理流程-配准机器生成的特征图
- linux下怎么批量命名文件,linux下的文件操作——批量重命名
- google chrome adobe flash player过期解决方法
- eltable 无数据文案修改_写文案不断打磨修改,让你的文案简单易懂
- 命令行修改文件md5
- Java深入学习系列之值传递Or引用传递?
- 【★★★所有A42JV 和 K42JV的用户和未来用户联合起来~!!让华硕知道不能忽视我们~!】...
- 超简单!Android 播放流媒体
- python之numpy数组的花式索引
热门文章
- struts、hibernate、spring、 mybatis、 spring boot 等面试题汇总
- JavaWeb基础学习笔记
- Scala之部分应用函数
- java多线程(一)-Thread类和Runnable接口
- Apache Iceberg 快速入门
- Eclipse安装STS(Spring Tool Suite (STS) for Eclipse)插件
- 深入JAVA注解之方法注解
- 《Node.js区块链开发》——1.6 参考
- JSP 中EL表达式用法详解
- 《理解 ES6》阅读整理:函数(Functions)(五)Name Property