百度云推送自定义行为(Android)

最近用公司的项目用到了百度云推送,总的来说百度云推送还是蛮好用的。
官方的文档地址:http://push.baidu.com/doc/guide/faq_android
集成起来很方便,参照文档一步一步做就是了。

项目中我们的的逻辑是收到消息后,当用户点击消息时,我们需要根据不同的类型跳转到不同的Activity,刚开始以为很简单,就是在onNotificationClicked 的回调里面实现跳转嘛,代码写好了,调试发现,不能跳转?why,why,why??? 去官网看了才发现不是这样的,需要自定义用户行为,具体怎么做怎么做呢?其实很简单。

先参看Android通知格式

第一步,在AndroidManifest.xml配置当用户点击要跳转的Activity,如下所示,注意intent-filter里面的内容,后面用得到。

<activity
            android:name=".ui.CoursePlayActivity"android:configChanges="orientation|keyboardHidden|screenSize"android:launchMode="singleTask"android:screenOrientation="portrait"android:theme="@style/AppTheme.Toolbar" ><intent-filter><action android:name="com.hongdao.mamainst.CoursePlayActivity" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity>

第二步,让服务器的人修改推送通知时候的两个参数的值

 "open_type":2, "pkg_content":"#Intent;action=com.hongdao.mamainst.CoursePlayActivity;launchFlags=0x4000000;end
", //可选  

open_type 值为2,pkg_content : 的值怎么获取呢?如下所示:

Intent intent = new Intent();
//在AndroidManifest.xml的activity里面intent-filter配置action
intent.setAction("com.hongdao.mamainst.CoursePlayActivity");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);String pkg_content = intent.toUri(Intent.FLAG_ACTIVITY_CLEAR_TOP);

这样服务器发送的通知当用户点击后就可以跳转到pkg_content配置的Activity啦。
还差一步,就是跳转到对应的Activity后怎么获取到传过来的参数呢?
会通过intent的Extra传过来,只需要向下面这样获取就是了。

@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_course_play);Intent intent = getIntent();long courseId = -1L;if (intent != null) {intent.getStringExtra("custom_content");}............}

百度云推送自定义通知行为相关推荐

  1. php验证百度云doc,百度云推送通知埋的大大的坑,成功测试REST API for PHP服务端...

    搞了一个下午,发送通知终于成功了,分享一下 比客户端好多了,客户端都没有文档的. 将PHP  SDK下载后放到网站某目录 发送消息很简单的 $channel = new BaiduPush(self: ...

  2. 快速集成推送通知功能---百度云推送

    发现百度云推送简直太好集成了,一下午时间都用不上就搞定了 先看效果吧 发送通知 接收通知 接下来就是步骤了 1.先去百度云推送开发者平台注册账号 http://push.baidu.com/ 然后创建 ...

  3. Android百度云推送接入,附完整代码

    1.创建应用获取api_key 百度云推送:http://push.baidu.com/ SDK下载:http://push.baidu.com/sdk/push_client_sdk_for_and ...

  4. 百度云推送-----10101错误

    前言 最近在弄百度云推送Android端,按照官方的文档 配置,可是还是报错errorCode 10101 看官方解析10101 是因为配置或者集成错误. 于是我在一遍一遍的复制,结果还是一样1010 ...

  5. 关于百度云推送加厂商进行app离线推送的步骤小记

    经过漫长的无所事事,终于来了一个活,要搞推送,不能socket,要后台关闭了也能推. 第三方推送,厂商自带,各种看了一下,但最终产品敲定,用百度云推送 研究的过程都是千篇一律,下demo,看文档,测试 ...

  6. 集成百度云推送,Android8.0系统推送收不到问题解决方案

    因为之前没有集成过百度云推送,接手新项目之后项目需求是接入百度云推送,没办法因为项目是海外项目所以只能硬着头皮来接入了,话不多说开始你的表演: 首先就是去百度云推送的官网去创建应用并启用: .在配置详 ...

  7. Android推送 百度云推送 入门篇

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/27231237 现在app基本都有推送的功能,于是看了下百度云的推送,官方文档和D ...

  8. 消息推送之百度云推送Android集成与使用方法

    这两天由于项目需要,研究了一下百度云推送,本来这事没什么多大工作量的,但注册百度开发者账户创建应用令我蛋疼菊紧了好一阵,这些东西做了对技术没啥提升,不做又不行,必经之路.好在我耗费了N多个毫毫秒秒后稀 ...

  9. android开发(25) - 推送的实现,使用百度云推送

    什么叫推送? 中文名称:推送 英文名称:push 定义:描述因特网内容提供者和因特网用户之间工作方式的术语."推送"指因特网内容提供者定期向预订用户"提供"数据 ...

最新文章

  1. 博士补贴125万,硕士70万本科21万,浙江某地人才(简直是抢人)新政!
  2. RSocket云原生架构下的另一种通信协议选择
  3. leetcode 169. 多数元素(不同数相消解法)
  4. iis php mysql 集成_如何在IIS上集成php(iis+mysql+php+zend)
  5. p2psearcher2013源码实现原理
  6. 360公司2019秋招空中宣讲会开启,送海量面试直通卡!
  7. 基础原理系列:服务端 TCP 连接的 TIME_WAIT 问题
  8. 五子棋python设计心得_python五子棋游戏的设计与实现
  9. css伪元素选择器,first-letter、first-line
  10. SpringBoot+Vue实现前后端分离高校学生考勤系统
  11. 机器学习项目 - ctr 电商点击率预估
  12. pythontrun什么意思_python 新手笔记一
  13. 汉诺塔//河内塔(Tower of Hanoi)
  14. linux 使用dmidecode查看设备序列号
  15. 超级应用 - 免费应用内测托管平台|APP应用分发平台|iOS应用分发|Android应用分发|免费应用内测托管平台 源码下载
  16. Teradata使用笔记(2)--数据库操作
  17. 【BZOJ 4399】魔法少女LJJ
  18. 表面粗糙度等级对照表
  19. 实锤!阿里集团将剥离阿里云 100% 股权
  20. 【Potplayer】如何用Potplayer实现对视频的局部缩放播放?如何用potplayer更舒心地播放竖屏视频?

热门文章

  1. 关于ElasticSearch的十道经典面试题
  2. 【Neo4j】第 2 章:Cypher 查询语言
  3. 解决Windows 8.1下战地3运行时DirectX错误
  4. linux c语 curl代码_termux基础入门:论如何在手机上学习linux
  5. 永磁同步电机超螺旋滑模控制算法仿真模型,有很强的鲁棒性,减小滑模抖振现象,可与常规滑模观测控制算法对比以体现改进
  6. 关于中控矩阵、高清混合矩阵、高清画面分割等视频设备概念的简述
  7. 【控制仿真】基于matlab flocking算法多智能蜂拥控制仿真【含Matlab源码 1955期】
  8. python翻译器怎么用_python实现简易翻译器
  9. IT NCIS:足迹第六十七步:电视剧观后感_关键证据
  10. Unable to get repr for <class torch.Tensor>