查阅了一些网上关于Android上实现推送的文章 , 常用的实现方法有:

1.使用android默认C2DM框架

2. APP 保持轮循

3. 采用XMPP协议,自己搭建推送服务器

下面介绍一下自己在ubuntu11.04下搭建XMPP推送服务器的方法:

1. 下载Android Push Notification 相关包,包括

androidpn-server-0.5.0-bin.zip
androidpn-demoapp-0.5.0.zip


2. 安装apache2 ,eclipse,android SDK


3. 启动apache服务,并且停止iptables

手动添加iptables规则

socol@socol:~$ sudo vim /usr/bin/iptables-stop.sh
socol@socol:~$ sudo chmod 750 /usr/bin/iptables-stop.sh
socol@socol:~$ sudo chown root:root /usr/bin/iptables-stop.sh

内容如下:

#! /bin/sh# 清空 filter 表格規則(無指定表格,則為 filter 表格)iptables -X# 清空 nat 表格規則iptables -t nat -Fiptables -t nat -X# 清空 mangle 表格規則iptables -t mangle -Fiptables -t mangle -X# 指定 filter 表格預設規則# INPUT、FORWARD、OUTPUT 皆為放行iptables -P INPUT ACCEPTiptables -P FORWARD ACCEPTiptables -P OUTPUT ACCEPT

清除防火墙:

socol@socol:~$ sudo /usr/bin/iptables-stop.sh

4. 运行解压后的androidpn-server

socol@socol:~/下载/androidpn-server-0.5.0/bin$ mkdir ../logssocol@socol:~/下载/androidpn-server-0.5.0/bin$ ./run.sh

5. 在firefox中输入127.0.0.1:7070,显示设备和推送管理页面

6. 将androidpn-demoapp导入eclipse中

运行后出现错误:

W/Cannot connect to server.( 1052): 0W/System.err( 1052): XMPPError connecting to 127.0.0.1:5222.: remote-server-error(502) XMPPError connecting to 127.0.0.1:5222.W/System.err( 1052):   -- caused by: java.net.ConnectException: /127.0.0.1:5222 - Connection refused


根据提示 ,修改androidpn-demoapp-0.5.0/res/raw/androidpn.properties:

apiKey=1234567890xmppHost=10.0.2.2xmppPort=5222

7. 在firefox中发送消息:

8. 模拟器/手机上接受到消息:

更多相关文章

  1. OpenCV for Android开发环境Win7平台搭建
  2. Windows下从零开始搭建JAVA Web,Android开发环境
  3. openfire+asmack搭建的安卓即时通讯(四) 15.4.10
  4. Android推送比较
  5. IONIC ANDROID 开发环境搭建
  6. Farsight(华清远见) s5pc100-a(A8) 开发板Android驱动开发环境搭建
  7. Android(安卓)搭建MVP+Retrofit+RxJava网络请求框架(二)
  8. Uni-app Android(安卓)离线打包集成 uni-push(个推)消息推送
  9. Android(安卓)添加数据到本地Excel表中

随机推荐

  1. Android(安卓)编译,打包、签程名详细教
  2. android 带文字的ImageButton
  3. 修改标题栏的高度
  4. Android中android:layout_width与 androi
  5. 关于android LinearLayout的比例布局
  6. Android 之 五大布局案例
  7. android xml布局文件属性说明
  8. Android Gesture 手势识别使用实例 - And
  9. Android日记抓取并保存
  10. Android Studio 布局属性笔记