java实现window phone推送通知
package com.windowphone.text;
import java.io.IOException;
import java.io.OutputStream;
import java.net.ConnectException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.UUID;
public class HttpPost {
private String xml;
private String url;
public HttpPost(String url, String xml) {
this.xml = xml;
this.url = url;
}
private void Send() {
HttpURLConnection con = null;
URL url = null;
try {
url = new URL(this.url);
con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
con.setDoInput(true);
con.setUseCaches(false);
//全球唯一的ID,类型:eb84a429-1ac6-46e2-b3f3-51929fd17648
String guid = UUID.randomUUID().toString();
con.setRequestProperty("X-MessageID",guid);
con.setRequestProperty("Content-Type","text/xml;charset=utf-8");
//①Raw Notification模式
//3:立刻发送 13:等待450秒发送 23:等待900秒发送
con.setRequestProperty("X-NotificationClass", "3");
//②Toast Notification模式
//2:立刻发送 12:等待450秒发送 22:等待900秒发送
// con.setRequestProperty("X-WindowsPhone-Target", "toast");
// con.setRequestProperty("X-NotificationClass", "2");
//③Tile Notification模式
//1:立刻发送 11:等待450秒发送 21:等待900秒发送
// con.setRequestProperty("X-WindowsPhone-Target", "token");
// con.setRequestProperty("X-NotificationClass", "1");
OutputStream out = con.getOutputStream();
//在此要特别的小心,发送比特流,要把获取字节码改为utf-8,不然中文会乱码
out.write(this.xml.getBytes("utf-8"));
out.flush();
//输出微软服务器response的情况,正常输出OK
System.out.println("response: "+con.getResponseMessage());
out.close();
con.disconnect();
} catch (ConnectException ce) {
} catch (IOException ie) {
} catch (Exception e) {
}
}
public static void main(String[] args) {
//这里直接复制window phone 应用注册微软的Uri
String uri = "http://db3.notify.live.net/throttledthirdparty/01.00/AAGKzo1xh_AfR4Ia6ePTklzoAgAAAAADAQAAAAQUZm52OjIzOEQ2NDJDRkI5MEVFMEQ";
///①Raw Notification模式
String rawMessage = "hitler 林楚金!";
//②Toast Notification模式,固定模式,Text1和Text2两个参数
String toastMessage = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<wp:Notification xmlns:wp=\"wpNotification\">" +
"<wp:Toast>" +
"<wp:Text1>123</wp:Text1>" +
"<wp:Text2>林楚金</wp:Text2>" +
"</wp:Toast>" +
"</wp:Notification>";
//③Tile Notification模式,固定模式,BackgroundImage背景图片,count数量,Title小标题
String tileMessage = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<wp:Notification xmlns:wp=\"wpNotification\">" +
"<wp:Tile>" +
"<wp:BackgroundImage>/Images/天晴.jpg</wp:BackgroundImage>" +
"<wp:Count>2</wp:Count>" +
"<wp:Title>fuck 林楚金</wp:Title>" +
"</wp:Tile>" +
"</wp:Notification>";
HttpPost post = new HttpPost(uri,rawMessage);
post.Send();
}
}
java实现window phone推送通知的更多相关文章
- 网络推送通知:及时,相关和准确 (navigator.serviceWorker.register(), window.PushManager, new Notification)
google网络推送通知 https://developers.google.cn/web/fundamentals/push-notifications/ 服务工作线程:简介server worle ...
- JavaScript是如何工作的: Web推送通知的机制
摘要: 如何在Web端推送消息? 这是专门探索 JavaScript 及其所构建的组件的系列文章的第9篇. 如果你错过了前面的章节,可以在这里找到它们: JavaScript是如何工作的:引擎,运行时 ...
- iOS 本地推送通知
1.什么是本地推送通知 不需要联网的情况下,应用程序经由系统发出的通知 2.本地推送的使用场景 定时提醒,如玩游戏.记账.闹钟.备忘录等 3.实现本地推送通知的步骤 创建本地推送通知的对象UILoca ...
- WP7推送通知服务
原文地址http://www.cnblogs.com/Joetao/articles/2214482.html (一)为什么使用推送通知服务(1)Windows Phone执行模型决定只有一个第三方的 ...
- Windows Azure Service Bus Notification Hub推送通知
前言 随着Windows Azure 在中国的正式落地,相信越来越多的人会体验到Windows Azure带来的强大和便利.在上一篇文章中, 我们介绍了如何利用Windows Azure中的Servi ...
- iOS 远程推送通知
1.什么是推送通知 在某些特殊情况下,应用程序被动收到的以不同种界面形式出现的提醒信息 推送通知的作用:可以让不在前台运行的app通知app发生了改变 iOS中得推送通知种类 远程推送通知(Remot ...
- Windows 8.1——将网站固定到开始菜单,自定义图标、颜色和Windows推送通知
记得在IE 9和Windows 7刚出来那会儿我写过一篇文章来介绍如何自定义网站将其固定到Windows的任务栏上,同时自定义图标及任务内容.那个功能在IE 9中被称之为JumpList.http:/ ...
- iOS推送通知的实现步骤
一.关于推送通知 来源:http://blog.csdn.net/enuola/article/details/8627283 推送通知,也被叫做远程通知,是在iOS 3.0以后被引入的功能.是当程序 ...
- Swift 本地推送通知UILocalNotification
Notification是智能手机应用开发中常用的信息传递机制,它不用消耗更多资源去不停的检查信息状态,可以非常好的节省资源. 在iOS中分为两种通知:本地.远程.本地的UILocalNotifica ...
随机推荐
- <算法竞赛入门经典> 第8章 贪心+递归+分治总结
虽然都是算法基础,不过做了之后还是感觉有长进的,前期基础不打好后面学得很艰难的,现在才慢慢明白这个道理. 闲话少说,上VOJ上的专题训练吧:http://acm.hust.edu.cn/vjudge/ ...
- QT 的信号与槽机制介绍
https://www.ibm.com/developerworks/cn/linux/guitoolkit/qt/signal-slot/ http://www.kuqin.com/qtdocume ...
- laravel code bright
Project RootLet’s start by taking a look at the root folder structure.• app/• bootstrap/• vendor/• p ...
- MapReduce架构设计
MapReduce采用Master/Slave的架构,其架构图如下: 它主要有以下4个部分组成: 1)Client 2)JobTracker JobTracke负责资源监控和作业调度.JobTrack ...
- C# DataGridView添加新行的2个方法
可以静态绑定数据源,这样就自动为DataGridView控件添加 相应的行.假如需要动态为DataGridView控件添加新行,方法有很多种,下面简单介绍如何为DataGridView控件动态添加新行 ...
- Mysql规范和使用注意点(转)
命名规范: 1表名,字段名,索引名称使用小写字母,数字采用下划线进行分割 2.表名采用模块名3个缩小字符 '前缀'之后顺序为表明 3.表名,字段名不超过32个字符 4.存储尸体数据的表,名称使用名词, ...
- [Irving] Ext.Net动态添加GridPanel列绑定Checkbox值失败的解决办法
var grid = X.GetCmp<GridPanel>(vm.GRID_QUOTATIONS_FEEITEM_RANGE_SHOW); grid.AddColumn(Html.X() ...
- Unity3d Physically Based Hair Shading in Unreal
---by wolf96 16/10/16
- 数据挖掘R与SQL
本文在Creative Commons许可证下发布 对于数据挖掘专业网站 KDnuggets网站的Poll持保留态度,但它的结果毕竟代表了某一类人群的使用偏好,尤其是在语言角度. 我们看排名前5位的语 ...
- PHP获取上个月、下个月、本月的日期
获取本月日期: 代码如下: function getMonth($date){ $firstday = date("Y-m-01",strtotime($date)); $la ...