一般推送的需求,大家都知道,点击推送的通知,跳转到某个页面,根据通知传过来的数据,比如url,去打开一个页面。
集成了华为推送的都知道,自定义的广播继承PushReceiver,会有点击通知栏的回调方法OnEvent,可以做跳转或者数据处理。
但是关闭app的情况下,是无法响应OnEvent事件的,网上说可以自定义内容:
但是,经过测试,关闭app的情况下,这个方法也无济于事。
所以,这不是解决问题的根本,解决问题的方法,应该注意到这个方式:
这个方式有个介绍:
看到这里,问题就解决了。。。。。。shit,原谅我是个菜鸟,这tm写的什么完全看不懂。
慢慢摸索吧。。。
它要一个Uri路径,那就给它:
1.定义一个类,用来做中介,就是你点击通知之后跳转的类!如果不设置,就是打开app,然后跳不到你要的界面咯
2.在这个类里面,实现下面的方法:
推送平台的uri怎么填呢?
给你一个参考
intent://com.hua.demo/push_detail?url=#Intent;scheme=myscheme;launchFlags=0x10000000;component=com.hua.demo/.activty.HuaweiPushCustomActivity;end
3.把上面的uri填到框里
你会问,我要的参数呢?你上面说传一个url在哪?
请注意:
这个url= 就是我自定义的参数,你后面可以带一个链接。比如url=www.baidu.com
你会问我,我带其他参数可以吗? 答案是可以。
?跟 # 之间的参数,你可以自己定义,其他的参数,直接跟我写一样的也行,自己定义也行,但是要跟你AndroidManifest.xml里的配置保持一致。
然后你接到这个字符串,自己去截取就ok啦~
好了,大概就是这么个流程,记录下开发过程,以后不在采坑~
还不明白的可以留言~或者加我QQ:541946408询问我~(虽然我也是个菜鸟。。)
good bye~
----------------------------------------------------这是一条分割线-------------------------------------------------------------
2018/6/12号收到码友的反馈,华为推送自定义动作存在一个问题:
在app关闭的情况下由通知栏吊起,再推送的话,点击通知栏没有反应,无法进入我们的中转activity进行处理。
解决办法:
1.我们发现,中转activity添加的标签:
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
这个标签要跟成对存在!
引号里填写中转activity完整路径就行。
以为大功告成,没想到还会出现问题:
由通知栏启动之后,再点击通知,点击清除按键会出现两个app界面
解决办法:
添加该属性:
设置为 true!
这下大功告成!
具体原理可以参考:
https://blog.csdn.net/goodlixueyong/article/details/49620667
https://www.aliyun.com/jiaocheng/13718.html
ok~