安卓学习笔记5——个推透传服务体验
2014-03-18 15:38
225 查看
参考工程:点击打开链接
为了能够接收透传信息,我们需要使用broadcast Receiver类,广播类可以动态注册或者在xml文件中静态注册,为了能够让broadcast receiver 能够对activity中的控件进行注册。我们选择在activity动态定义和注册broadcast receiver类。
步骤一:
定义常量: 个推透传信息的广播类型。
步骤二:
步骤三:在oncreate中注册broadcast receiver类
步骤四:别忘了对个推sdk的初始化,详情见安卓开发笔记4
1.引子
在上一篇中我们讲到如何使app能够接收个推推送信息。但是这样的推送信息只能够在通知栏显示,而不能被我们应用本身使用,所以在这一篇中我们继续讲接收能够被我们应用所利用的推送信息。也就是个推所说的透传信息。2.使用步骤
以下步骤在上一篇配置好个推的基础上进行,具体可以查看安卓学习笔记4——推送服务初体验为了能够接收透传信息,我们需要使用broadcast Receiver类,广播类可以动态注册或者在xml文件中静态注册,为了能够让broadcast receiver 能够对activity中的控件进行注册。我们选择在activity动态定义和注册broadcast receiver类。
步骤一:
定义常量: 个推透传信息的广播类型。
private static final String ACTIONNAME_STRING="com.igexin.sdk.action.你应用的appid";
步骤二:
private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Bundle bundle = intent.getExtras(); Log.d("GexinSdkDemo", "onReceive() action=" + bundle.getInt("action")); switch (bundle.getInt(Consts.CMD_ACTION)) { case Consts.GET_MSG_DATA: // 获取透传(payload)数据 byte[] payload = bundle.getByteArray("payload"); if (payload != null) { data = new String(payload); Log.d("GexinSdkDemo", "Got Payload:" + data); editor.putString("IP", data); editor.commit(); IP.setText(data); } break; case Consts.GET_CLIENTID: // 获取ClientID(CID) String cid = bundle.getString("clientid"); Log.d("GexinSdkDemo", "Got ClientID:" + cid); // TODO: /* 第三方应用需要将ClientID上传到第三方服务器,并且将当前用户帐号和ClientID进行关联,以便以后通过用户帐号查找ClientID进行消息推送 有些情况下ClientID可能会发生变化,为保证获取最新的ClientID,请应用程序在每次获取ClientID广播后,都能进行一次关联绑定 */ break; default: break; } } };
步骤三:在oncreate中注册broadcast receiver类
IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(ACTIONNAME_STRING); registerReceiver(broadcastReceiver, intentFilter);
步骤四:别忘了对个推sdk的初始化,详情见安卓开发笔记4
3.总结
到这里我们就能够使用broadcast receiver类接受透传消息,并在receiver中对透传消息进行处理。相关文章推荐
- 安卓学习笔记---ListView选择服务机构,选择完之后可以显示当前的选择项
- 安卓个人学习笔记---利用服务实现电话监听
- spring cloud微服务权限认证学习笔记
- 分布式服务框架学习笔记
- 安卓学习笔记---Android 中如何关闭Thread线程
- Apache OFBiz 学习笔记 之 服务引擎 一
- Linux学习笔记——利用systemd实现服务自启动
- 分布式服务框架-原理与实践:13---服务多版本-学习笔记
- 【Linux学习笔记】配置Samba服务
- 微服务-学习笔记
- 安卓智慧上海学习笔记系列——自定义圆环进度条
- C#2.0锐利体验之杂项技术及未来发展学习笔记
- 安卓动画学习笔记
- 【学习笔记】AWS体验之创建RDS实例/创建数据库支持中文编码
- OpenSSH服务及其相关_学习笔记
- 安卓手机卫士学习笔记系列——GestureDetector手势识别器的使用
- angular学习笔记(十五)-module里的'服务'
- 安卓学习笔记一
- Sharepoint2013商务智能学习笔记之Excel Service服务配置(四)
- 安卓学习笔记----瀑布效果图片浏览器-----