百度云推送自定义行为(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. Puppeteer爬虫初探
  2. 简单的VC 操作XML 文件的的方法
  3. python把图片另存为_pycharm sciview的图片另存为操作
  4. PPT 下载 | 桑文锋:数据化建设的时代机遇
  5. 03-mysql的相关命令-启动与关闭服务-配置环境变量
  6. C3P0连接池 jar包 下载
  7. Spring框架从入门到精通
  8. vb c语言入门教程,c语言和vb哪个简单
  9. 安卓硬件模拟大师_安卓虚拟大师 可以手机运行免root带xp框架模拟器
  10. Python断言与isinstance()判断数据类型
  11. PS的钢笔,路径,选取,描边(虚线)
  12. Windows.old文件夹恢复系统解决方案
  13. python拦截广告弹窗_selenium+python处理广告弹窗
  14. linux检查内存插槽,Linux查看内存大小和插槽
  15. T045基于51单片机温湿度检测系统无线蓝牙传输Proteus仿真原理图PCB
  16. 招商银行信用卡卡号识别项目(第一篇),Python OpenCV 图像处理取经之旅第 53 篇
  17. 雷塞DMC1380的使用
  18. MySQL数据库机器配置的3个网络参数
  19. 机器语言——码运算(详解反码补码由来)
  20. 【附源码】计算机毕业设计java智慧后勤app设计与实现

热门文章

  1. Python爬虫实战003:爬取豆瓣电影分类排行榜
  2. 我的北漂生活:我来北京一个月了
  3. 手把手教你制作C项目:宾馆管理系统,初学者也可以一起来哦!
  4. Word操作技巧大全3(转)
  5. Linux系统常见压缩命令
  6. excel中多重IF函数使用实例
  7. Windows 10资源管理器经常无故自动重启
  8. Timeline自建AudioPlayable脚本项目记录
  9. tomcat升级简单版
  10. POJ 2570 Fiber Network