Windows Phone 8.1 Tiles, Notifications and Action Center

(1)Tiles

Tiles 也就是磁贴,是 Windows Phone 的一大特色。

一个 Tile 其实可以看成是一个 XML,比如:


<tile>
<visual>
<binding template="TileSquareImage">
<image id="1" src="image1" alt="alt text"/>
</binding>
</visual>
</tile>

<tile>
<visual version="2">
<binding template="TileSquare150x150Image" fallback="TileSquareImage">
<image id="1" src="image1" alt="alt text"/>
</binding>
</visual>
</tile>

微软为我们提供了一系列模板,具体可参照:链接

只要根据模板的 XML 格式,便可轻松的更新 Tile:


private void updateButton_Click(object sender, RoutedEventArgs e)
{
UpdateTiles("ms-appx:///Images/Middle.png", "ms-appx:///Images/Wide.png");
}

private void UpdateTiles(string middlePath, string widePath)
{
string tileString = "<tile>" +
"<visual version=\"2\">" +
"<binding template=\"TileSquare150x150PeekImageAndText04\" fallback=\"TileSquarePeekImageAndText04\">" +
"<image id=\"1\" src=\"" + middlePath + "\" alt=\"alt text\"/>" +
"<text id=\"1\"></text>" +
"</binding>" +
"<binding template=\"TileWide310x150ImageAndText01\" fallback=\"TileWideImageAndText01\">" +
"<image id=\"1\" src=\"" + widePath + "\" alt=\"alt text\"/>" +
"<text id=\"1\"></text>" +
"</binding>" +
"</visual>" +
"</tile>";
XmlDocument tileXML = new XmlDocument();
tileXML.LoadXml(tileString);

TileNotification newTile = new TileNotification(tileXML);
TileUpdater updater = TileUpdateManager.CreateTileUpdaterForApplication();
updater.EnableNotificationQueue(false);
updater.Update(newTile);
}

除了主磁贴外我们还可以新建 SecondaryTile:


private void createButton_Click(object sender, RoutedEventArgs e)
{
CreateTile("ms-appx:///Images/Middle.png", "ms-appx:///Images/Wide.png");
}

private async void CreateTile(string middlePath, string widePath)
{
SecondaryTile tile = new SecondaryTile("Cortana", "Cortana", "Some", new Uri(middlePath), TileSize.Default);
tile.VisualElements.ShowNameOnSquare150x150Logo = true;
tile.VisualElements.ForegroundText = ForegroundText.Dark;
tile.VisualElements.Square30x30Logo = new Uri(middlePath);
tile.VisualElements.Wide310x150Logo = new Uri(widePath);
await tile.RequestCreateAsync();
}

SecondaryTile 的更新与主磁贴更新一样:

TileUpdater update = TileUpdateManager.CreateTileUpdaterForSecondaryTile("Cortana");

(2)Notifications

Notification(推送通知)分为 Tile,Badge,Toast,Raw
四种类型,而通知的方式又分为 Scheduled,Periodic,Local,Push 四种,它们之间对应的关系为:

使用方法都大同小异,根据各自的 XML 格式修改再调用 Update 方法即可,例如:

XmlDocument xml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText04);
ToastNotification toast = new ToastNotification(xml);
ToastNotifier notifier = ToastNotificationManager.CreateToastNotifier();
notifier.Show(toast);

需要注意的是:(1)Toast 通知需要在 Manifest 中许可;(2)Push
方法为:


private async void SendRawNotification()
{
var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
channel.PushNotificationReceived += channel_PushNotificationReceived;
}

private void channel_PushNotificationReceived(PushNotificationChannel sender, PushNotificationReceivedEventArgs args)
{
var raw = args.RawNotification;
}

(3)Action Center

1)每个应用最多可以在 Action Center 中驻留 20 条通知

2)通知最多可驻留 7 天

3)可发送静默通知(不会提示用户)

toast1.SuppressPopup = true;

4)可对通知进行分组

XmlDocument xml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText04);

ToastNotification toast1 = new ToastNotification(xml);
toast1.Group = "One";
toast1.Tag = "1";

5)可更新或删除通知(可删除某一组)

ToastNotificationManager.History.RemoveGroup("One");

Windows Phone 8.1 Tiles, Notifications and Action
Center,布布扣,bubuko.com

Windows Phone 8.1 Tiles, Notifications and Action
Center

时间: 2024-10-08 11:17:29

Windows Phone 8.1 Tiles, Notifications and Action Center的相关文章

06、Windows 10 技术预览

随着 Windows 10 发布的,未来 Windows 平台都是统一开发模型,可以只写一个 Appx 包,就可以同时部署到 Windows/ Windowsw Phone/ Tablet /xbox ..平台上了,我们几个 Windows 组的同事也是摩拳擦掌,希望写一 个用户体验很好的客户端. 看了一下 MSDN 最新发布的文档和视频教程,这里作为笔记,大概总结了一下在 Windows 10上,针对 Windows 8.1 和 WP 上的一些技术更新. 贴一张视频里面聚合的路线图: MSDN

微软同步发行Windows 10和Windows 10 Mobile系统更新

微软今天同步发布了新的 Windows 10 Redstone PC 和 Windows 10 Mobile 预览版. PC 版本号是 Build 14271,Mobile 版本号是 Build 14267.1004. Windows 10 Redstone PC Build 14271 主要修复了以下问题: 窗口边框颜色问题 Groove 音乐播放控件视觉质量 任务栏自动显示的问题 Action Center 支持右键和批量消除通知 快速用户切换支持图片密码 部分桌面应用消失于开始菜单的问题

使用Operations Manager监视Windows Server和SQL Server

在这个实验章节中通过监控Windows Server.SQL Server.来了解使用Operations Manager监控企业基础架构.这里需要下载 1. System Center Management Pack for Windows Server Operating System管理包 2. System Center Management Pack for SQL Server管理包 http://down.51cto.com/data/1895686 一. 监视Windows Se

windows触控手势

触控板手势 简而言之,在这篇文章里,触控手势1到4可以在任何一种触控板上使用,而手势5到8则需要精确触控板. 1.拖拽 要模拟鼠标的拖拽功能,只需要将一个手指在某个项目上轻轻的双击一下,然后就可以拖拽它了.当拖拽到需要的位置时抬起指尖,就可以把这个项目放置到所在的地方. 2.滚屏 要模拟鼠标的滚屏功能,只需要将两个手指在你想要滚屏的地方按下并向屏幕滚动的方向拖动即可.这个功能对任何支持滚屏的应用程序都有效,包括文字处理.网络浏览器以及音乐播放器等,而且支持横向和纵向滚屏. 3.缩放 要模拟在大多

I Take It All Back: Using Windows Installer (MSI) Rollback Actions

Original Link: http://blogs.flexerasoftware.com/installtalk/2011/10/i-take-it-all-back-using-windows-installer-msi-rollback-actions.html#sthash.KIIUKl0s.dpuf By Robert Dickau Sometimes an installer just needs to do something that Windows Installer do

Windows 10 v9926 初测

1. 安装 a. 使用 Hyper-V Generation 2 虚机安装,开始菜单不显示.干掉重装. b. 使用 Hyper-V Generation 1 虚机安装,工作正常. c. 安装过程相当流畅. d. 开关机速度非常快 (应该是因为我用 SSD的关系) 评价: 好. 2. Start Menu 开始菜单 评价: 就是把愚蠢的磁贴(Tile)整合一下硬塞到开始菜单里,换汤不换药,失败! 做为Business Desktop 用户,每时每刻都显然这么一大推乱七八糟的信息在我面前简直就是折磨

Windows Phone 8.1低功耗蓝牙开发-Nokia Treasure Tag

1. 引言 上一篇文章<Windows 8.1 低功耗蓝牙开发>讲述了如何在Windows 8.1平台上创建低功耗蓝牙应用,并且以TI的Sensor Tag为例,给出了代码步骤和演示.其实当前很多低功耗蓝牙的应用场景是与用户的手机相连接,如TI的Sensor Tag官方就给出了Android和iOS的客户端应用(很遗憾没有Windows Phone版本的,不过现在大家可以去Store上下载个人开发者开发的Sensor Tag应用了,前段时间刚刚出现在美国区的市场了).再比如小米刚刚出的79块钱

(二十五)Struts2 Tiles集成

在本章中,我们会学习到将Tiles框架与Struts2集成所涉及的步骤.Apache Tiles是一个模板框架,用于简化Web应用程序用户界面的开发.首先,我们需要从Apache Tiles网站下载tiles jar文件.你需要将以下jar文件添加到项目的类路径. tiles-api-x.y.z.jar tiles-compat-x.y.z.jar tiles-core-x.y.z.jar tiles-jsp-x.y.z.jar tiles-servlet-x.y.z.jar 除了上面的,我们必

phpstorm分别在Mac和Windows下启动命令行,并启用ssh

Mac:在terminal下运行 sudo -i 输入密码  就可以用ssh IP:端口  命令行登录了 DAssist是一个命令行开发辅助,可直接在系统命令行工具中使用,Linux和MacOS等自带命令终端的系统好说,windows下也有cmd和powerShell.那么如何结合开发IDE工具进行使用?这要求编程使用的IDE必须支持terminal(默认支持或者插件扩展支持均可),PHP Web开发常用工具有jetBrains系列的phpStorm.WebStorm,也有用Sublime Te