一、通知形式
在windowsphone系统中,通知有很多中形式,如下图
(Tile磁贴在前一博文已复习过,Badge形式与tile类似)
1、Toast
它主要是利用xml文件来编写的,xml代码如下:
1 <toast> 2 <visual> 3 <binding template="ToastText02"> 4 <text id="1">headline text</text> 5 <text id="2">body text</text> 6 </binding> 7 </visual> 8 </toast>
注意要在应用中运用toast需要在应用清单设置,如下图
二、通知方式
推送通知的方式也有很多种
1、Scheduled(按计划方式)
设置tile,toast的模板和更新时间,主要应用ScheduledTileNotification类和ScheduledToastNotification类,demo代码如下:
var scheduleToast = new ScheduledToastNotification( xmlDoc, DateTimeOffset.UtcNow + TimeSpan.FromDays(1.0) ); var toastNotify = ToastNotificationManager.CreateToastNotifier(); toastNotify.AddToSchedule(scheduleToast);
2、Periodic(利用相应服务器提供数据定期更新)
demo代码如下:
var periodic = TileUpdateManager.CreateTileUpdaterForApplication(); Uri myTileFeed = new Uri("http://mysite.com/tileRSS.xml"); periodic.StartPeriodicUpdate(myTileFeed, PeriodicUpdateRecurrence.Hour);
//上面是利用自己的服务器地址获取tile格式文件,除此之外还需要在应用清单上设置,如下图
3、Local(本地更新)
本地更新主要利用后台任务(BackgroundTask)
Badge更新demo代码如下
BadgeNotification newBadge = new BadgeNotification(badgeDoc); BadgeUpdater update = BadgeUpdateManager.CreateBadgeUpdaterForApplication(); update.Update(newBadge);
4、WNS服务器推送
利用微软通知服务器推送通知,这种是无时无刻推送的