从微软官网那下了个Push Notifications的codeSample,放到手机里看看Wp7的Push Notifications是啥样的。
下载地址如下:
http://create.msdn.com/en-US/education/catalog/sample/push_notifications
首先代码分为两个工程,一个客户端(放手机里的),一个发送端(WinForm程序)
先启动手机客户端,取得uri。因为uri要从Microsoft Push Notifications Service取得,所以必须上网。
然后用发送端往取得的uri里发消息就可以了。实现起来真的非常简单。
实现流程如下:
手机 ----请求uri---> Microsoft Push Notifications Service ----提供uri---> 手机 ----转告uri--->
WebService ----发xml消息---> Microsoft Push Notifications Service ----推送消息---> 手机
大家都知道推送有3种方式:Toast,Tile,Raw。下面来试验下,开机状态下程序没有运行时(never run)的效果。
Toast:有反映,在屏幕最上方弹出一个状态条并显示消息。(很像短消息还有振铃)
Tile:有反映,在开始画面对应的图标显示数字和消息。
Raw:无反映。(但此时和程序运行状态下有一点区别,Notification Status是Suppressed而非 Received)
如果关机状态发的消息,开机时能收到吗?
结论是开机后都收不到
但此时发送端得到Response比较奇怪,刚关机不久Device Status仍然是Connected。(这种情况造会造成丢失)
只有关机一段时间(1,2分钟)后,Device Status才会改成tmpDisConnected。
如果把程序卸载呢?那时候Device Status会变成DisConnected