成功的向android推送信息——android推技术!
来源:互联网 发布:淘宝买处方药没有处方 编辑:程序博客网 时间:2024/05/21 18:58
这个假期一直都在为齐鲁软件大赛做准备,其中一个很重要的技术就是推技术,请教了好多老师和高手,也看到了好多好多的协议,xmqq呀,还有好多好多协议,但都没有实现,后来只能用socket,想建立持久通道的方法去发送信息,虽然很成功的android端传送过去了,但服务器的负载太大了,也是一个bug吧,本来想这样过去的但还是四方打听技术,知道看到了一个帖子,关于真正的android,push技术,现粘过来了,亲测可用,不懂的留言。不过api时间太短了,毕竟交上作品时已经过期了,嘿嘿。
a) 在应用中添加 APNS 功能
- 下载 libaray: com_apns.jar
- 将com_apns.jar添加到工程
在工程上右键打开“属性”,选择 “Java Build Path”, 在 Libraries 中选择 “Add External JARs”, 选择下载的 com_apns.jar.
- 接收 push notification
使用BroadcastReceiver接收系统广播:public class MyBroadcastReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) { if (intent.getAction().equals(APNService.ON_NOTIFICATION)) {String str = intent.getStringExtra("data");//todo, 处理收到的消息 } }}
- 启动 Push Notification Service
发送Intent 启动服务,将 chanel Id 以及 此设备的标识 (chanel中唯一表示此设备的字符串) 传递过去: Intent intent = new Intent(APNService.START); intent.putExtra("ch", chanel); intent.putExtra("devId", devId); startService(intent);
Notes Chanel Id 在申请 API 后,登录开发者页面会看到. devId: chanel 内设备标识,要在chanel内保持唯一. - 配置 AndroidManifest.xml
...<application android:icon="@drawable/icon" ... <service android:name="com.apns.APNSService" android:label="APNS"> <intent-filter> <action android:name="com.apns.APNService.START" /> <action android:name="com.apns.APNService.STOP" /> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </service> <receiver android:name="MyBroadcastReceiver"> <intent-filter> <action android:name="com.apnsd.APNService.NOTIFICATION" /> </intent-filter> </receiver></application><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />...
b) 发送 Notification 到设备
通过 Rect 接口发送 Notification:
http://www.push-notification.mobi/apns_v1.php?ch=YourChannelId&devId=xxxxx&msg =”hello world”&random=0123&hash=HashCode
ch:Channel IddevId:接收设备 Idmsg:消息random:随机数hash:md5(ch + devId + random + privateKey)Notes 申请API后,可登录开发者页面使用测试控制台进行API测试.
- 成功的向android推送信息——android推技术!
- Android 推送-个推
- Android信息推送技术简要分析
- Android第三方推送——极光推送,百度云推送,个推
- 体验个推推送,感受Android推送的魅力
- 体验个推推送,感受Android推送的魅力
- Android小菜鸟向大神进攻的奋斗记(一)之关于Android studio 使用极光推送,集成成功,但是推送不成
- [023] Android平台的信息推送实现
- Android平台的信息推送实现
- [023] Android平台的信息推送实现 .
- Android平台的信息推送实现
- [023] Android平台的信息推送实现
- Android平台的信息推送实现
- Android平台的信息推送实现
- [023] Android平台的信息推送实现
- Android平台的信息推送实现
- Android平台的信息推送实现
- 个推,信息推送技术是磨出来的,谁干谁知道
- getopt使用
- Text to speech hello world sapi
- 运行maven项目三部曲
- 证书链
- 详细介绍C/C++数组名与指针区别
- 成功的向android推送信息——android推技术!
- 将dateset或者datatable直接保存到数据库的表中
- MySQL(一)
- linux MISC 驱动模型分析
- rails rewrite validation helper
- Linux下基于C 的DB2CLI开发
- BIRT Viewer 2.2 参数设置详解
- 雅达利给iPad游戏配备的街机操纵杆
- C# 操作ini文件