注:本系列学习帖子我在DevDiv.com移动开发社区原创首发
转载请注明出处:BeyondVincent(破船)@DevDiv.com
如果你有什么问题也可以前往交流
下面是首发地址:
在我写的上一个帖子中,我概述了Windows
8 中的通知,介绍了通知的类型(tile,toast和badges),以及通知的分发机制(local,scheduled和push)。在这一篇帖子中,我将以编程者的角度来给大家介绍我目前对通知的了解情况,希望能够起到抛砖引玉的作用,更多功能还需要等待你来实现。
注:1、本次主要以代码的形式来讲解通知的使用
2、本次讲解的通知分发方法为local[关于分发方法,请参考我的上一个帖子
通过本次的学习,你将初步掌握如下内容:
1、准备工作
2、Toast通知的使用
3、Tile通知的使用
4、Badge通知的使用
5、最后附上程序相关代码工程
更多内容请查看下面的帖子
Windows 8 Metro App开发Step by Step
1、准备工作
a) 首先以Blank App创建一个应用程序。然后打开Package.appxmanifest文件,按照下面图中的标准,制作了3个图片,并添加到工程中。
b) 获取 NotificationsExtensions 库
由于Tile、Toast和Badge使用的都是xml模版,为了简化对xml的操作,这里我们可以使用NotificationsExtensions对象库模型,它提供磁贴、锁屏提醒和 Toast 通知 XML 模板内容,而无需直接使用 XML 文档对象模型 (DOM)。 当你在 Microsoft Visual Studio 中使用此库时,你可以获得下列好处:
-
智能感知,它将可用的通知 XML 标记和属性列为对象属性。这样,开发人员将无需参考架构文档来获取有关元素和结构的信息。
-
工厂函数,可通过该函数来创建主干通知。然后,你可以用你的内容填充这些通知。
-
一种在你的通知负载中同时包括方形和加宽磁贴版本(这是最佳做法!)的简化方式。
-
一种查找和填充文本和图像属性的有用方式。可通过它们的名称来获取有关它们在模板中的预期使用、大小或位置的更多信息。
具体的使用操作说明微软的官网上有详细内容,我就不细说了,参考下面的链接:
使用 NotificationsExtensions 填充锁屏提醒、磁贴和 Toast 模板
这里我就默认你已经按照上面链接给出的操作步骤,完成了对NotificationsExtensions库的引用。
2、Toast通知的使用
先上相关代码
private void sendToast(object sender, RoutedEventArgs e)
{
IToastNotificationContent toastContent = null;
IToastText01 templateContent = ToastContentFactory.CreateToastText01();
templateContent.TextBodyWrap.Text = "今天去游泳!(BeyondVincent|破船|)";
toastContent = templateContent;
ToastNotification toast = toastContent.CreateNotification();
ToastNotificationManager.CreateToastNotifier().Show(toast);
}
看上面的代码,通过使用NotificationsExtensions库提供的IToastNotificationContent类,我们可以方便的创建出一个ToastNotification,然后在利用ToastNotificationManager该语句ToastNotificationManager.CreateToastNotifier().Show(toast);
将Toast通知显示出来。显示效果如下图所示:显示在屏幕的右上角关于Toast通知需要注意的是:需要在Package.appxmanifest中将是否支持Toast通知设置为是,如下图3、Tile通知的使用
微软提供了好多Tile模版供我们使用,这里已经给出了详细的介绍,大家可以前去学习了解
Choosing
a tile template在这里我用了两种方式更新Tile:纯文本(ITileWideText03ITileWideText04)和web图片(ITileSquareImage) 先上纯文本代码:private void UpdateTileWithText()
{
ITileWideText03 tileContent = TileContentFactory.CreateTileWideText03();
tileContent.TextHeadingWrap.Text = "你有三条未读短信!";
ITileSquareText04 squareContent = TileContentFactory.CreateTileSquareText04();
squareContent.TextBodyWrap.Text = "你有三条未读短信!";
tileContent.SquareContent = squareContent;
TileUpdateManager.CreateTileUpdaterForApplication().Update(tileContent.CreateNotification());
}
看上面的代码,在这里同样使用NotificationsExtensions库提供的功能,很方便的创建出Notification,然后使用最后一行代码将其更新。使用web图片代码:
void UpdateTileWithWebImage()
{
ITileWideImageAndText01 tileContent = TileContentFactory.CreateTileWideImageAndText01();
tileContent.TextCaptionWrap.Text = "高清:撑杆跳伊辛巴耶娃4米70无缘奥运三连冠";
tileContent.Image.Src = "http://img1.gtimg.com/4/460/46005/4600509_980x1200_292.jpg";
tileContent.Image.Alt = "Web image";
ITileSquareImage squareContent = TileContentFactory.CreateTileSquareImage();
squareContent.Image.Src = "http://img1.gtimg.com/4/460/46005/4600509_980x1200_292.jpg";
squareContent.Image.Alt = "Web image";
tileContent.SquareContent = squareContent;
TileUpdateManager.CreateTileUpdaterForApplication().Update(tileContent.CreateNotification());
}
如果我们要清除Tile信息,则调用下面的代码即可
TileUpdateManager.CreateTileUpdaterForApplication().Clear();
运行效果如下图:文字:图片:4、Badge通知的使用 微软也提供了badge相关的详细介绍以及图标,建议参考下面的链接,进行了解Badge
overview (Metro style apps)Choosing
a badge image下面我继续上代码,这里我同样用两种方式展现badge的使用(数字和图片)先上数字的代码:void UpdateBadgeWithNumber(int number)
{
BadgeNumericNotificationContent badgeContent = new BadgeNumericNotificationContent((uint)number);
BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badgeContent.CreateNotification());
}
代码很简单,我就不表了。在上图片的代码:
void UpdateBadgeWithGlyph(GlyphValue index)
{
BadgeGlyphNotificationContent badgeContent = new BadgeGlyphNotificationContent(index);
BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badgeContent.CreateNotification());
}
同样不细表,如果大家在使用过程中遇到什么问题,可以跟帖进行讨论。下面是清除badge通知内容的代码:
BadgeUpdateManager.CreateBadgeUpdaterForApplication().Clear();
很简单吧。那我就来上两个允许效果图:数字:图片:5、最后附上程序相关代码工程下图是程序主界面图:下载代码:
DevDiv_Notifications.rar
分享到:
相关推荐
该项目有助于在Windows 8.1 / 10和Windows Phone 8.1 / 10平台上创建表示Tile,Toast和Badge通知的XML。 您可以查看以查看可用模板的类型。 为什么这有用? 当尝试使用Azure移动服务.NET后端或其他基于.NET的推送...
上次完成了《Delphi D10.X安卓APP开发中简单使用原生Toast》,可以快速方便的使用Toast,并且可以自定义显示位置。在此基础上,今天我们来实现在Toast中显示图片的方式。 需要增加的内容 先增加一个可以显示图片的...
利用Windows10系统API实现的C#通知,可以实现使用C#推送通知到Win10通知栏,并可以和该通知进行交互。
Windows-10-Toast-Notifications, python 库显示 Windows 10 Toast通知 Windows 10 Toast通知 用于显示 Windows 10 Toast通知的easy-to-use python 库,这对 Windows GUI开发非常有用。 安装pip install win
易语言仿Win10弹出Toast通知源码,仿Win10弹出Toast通知,WndProc,LOWORD,HIWORD,Gdiplus_初始化,Init_SUITypedef_NineGrids,P_SUITypedef_NineGrids,SUIRGBtoARGB,SUIDrawGraphicNineGrids,SUIDrawGraphicAlpha,RPM,...
WinToast:WinToast是一个用C ++编写的轻量级库,它完全集成了Windows 8和Windows 10的现代Toast通知。Toast通知使您的应用可以通知用户应了解的相关信息和及时事件并对其采取行动。在您的应用程序内部,例如新的...
易语言仿Win10弹出Toast通知源码。@易语言源码分享站。
在安卓开发中,有时候我们希望使用Toast,Delphi已经为我们提供了使用接口,但仍然不是很方便,通过一些简单的封装,就可以方便的使用原生Toast。下载包里包括了封装代码与演示,使用时只需要引用PAS文件就行。
Become a leading Windows 8 app developer by using Windows 8 App Projects - XAML and C# Edition to learn techniques, tools, and ideas to create successful, 5-star apps. Windows 8 App Projects - XAML ...
自定义Toast,设置Toast显示位置,自定义Toast的复杂布局 博客地址:http://blog.csdn.net/xy_nyle/article/details/20137953
一个metro简单版的Toast的Demo
使用Toast动态显示信息
Toast是Android系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的 信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间,我们现 在就尝试一下如何在活动中使用Toast。
关于使用PowerShell或WinRT的Windows Toast通知(Windows 8、8.1、10)。 不使用任何本机模块。 一切都通过PowerShell完成,但是您可以使用本机WinRT API,而可以选择安装相对软件包: @ nodert-win10-rs4 / windows...
C++的win10发送消息通知的例子,vs程序,必须要2015以上才能运行,toast通知是用xml文件定义的,xml文件可以自己修改
Android Toast 自定义背景、图片 随心使用
用户使用android 5.0以上的系统在安装APP时,将消息通知的权限关闭掉了。实际上用户本意只是想关闭Notification,但是Toast的show方法中有调用INotificationManager这个类,而这个类在用户关闭消息通知权限的同时被...
一个简单的自定义Toast资源,您可以根据自己的需要更改我的代码即可实现您想要的效果(主要是更改xml文件的布局),这是androidstudio的项目,但是不妨碍在eclipse中使用,可以直接在eclipse中新建android项目,然后将...
android Toast对象的使用 自定义Toast