Android消息推送开源实现
Android push message,其服务器是用了JSP编写,服务器与客户端通讯是通过XML(XMLPP)文件。
首先,下载地址 http://sourceforge.net/projects/androidpn/
我们下载其中的 androidpn-server-0.5.0-bin.zip (18.3 MB) 服务端和androidpn-client-0.5.0.zip(356.1 kB)
客户端。而服务端是在PC上运行,而且用JSP编写。需要安装JAVA,并配置好JAVA_HOME变量。不然运行时
是一闪而过,不能开启服务端。
其次,配置服务端。服务端是在PC上运行,把androidpn-server-0.5.0-bin.zip解压在本地,如:E:\android
\androidpn-server-0.5.0 运行以上目录的\bin\run.bat 来启动服务器。此时cmd窗口一直在运行。别关了。
验证服务器是否成功。浏览器打开 http://127.0.0.1:7070/index.do,出现如下页,表示服务器开启成功。
最后,我们手机端,解压androidpn-client-0.5.0.zip,导入工程到eclipse。打开res/raw/androidpn.properties
文件配置。
- apiKey=1234567890
- xmppHost=192.168.0.5
- xmppPort=5222
把192.168.0.5修改为10.0.2.2 【在虚拟机中,虚拟机地址为127.0.0.1,主机地址为 10.0.2.2】
运行客户端,还需build path设置包含asmack.jar。
右击此项目(org.androidpn.demoapp.DemoAppActivity)——properties。如图,打开jaca build path,
添加asmack.jar。 然后在模拟器编译运行。自此我们都设置完了。下面演示推送。
推送演示
客户端在虚拟机中运行时,服务端可见链接的客户端。
http://127.0.0.1:7070/notification.do 写入title,和message,后按submit
此时手机端收到推送