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()方法將鎖屏提醒清 除,另外鎖屏提醒可以通過雲清除。
通過以上幾個步驟我們就可以出一個應用的鎖屏提醒。
三、鎖屏提醒最佳實踐
因為微軟官方給到我們開發者非常詳細的關於鎖屏提醒最佳實踐 的方法,這裡我簡單提及一下。
例如:當應用在鎖屏提醒上顯示的是數字,並且該數字會大於 50,那麼我們推薦使用系統字形類型。