Android华为推送自定义动作的实现

时间:2024-05-21 13:54:22

一般推送的需求,大家都知道,点击推送的通知,跳转到某个页面,根据通知传过来的数据,比如url,去打开一个页面。

集成了华为推送的都知道,自定义的广播继承PushReceiver,会有点击通知栏的回调方法OnEvent,可以做跳转或者数据处理。

但是关闭app的情况下,是无法响应OnEvent事件的,网上说可以自定义内容:

Android华为推送自定义动作的实现

但是,经过测试,关闭app的情况下,这个方法也无济于事

所以,这不是解决问题的根本,解决问题的方法,应该注意到这个方式:

Android华为推送自定义动作的实现




这个方式有个介绍:

Android华为推送自定义动作的实现


看到这里,问题就解决了。。。。。。shit,原谅我是个菜鸟,这tm写的什么完全看不懂。

慢慢摸索吧。。。

它要一个Uri路径,那就给它:

1.定义一个类,用来做中介,就是你点击通知之后跳转的类!如果不设置,就是打开app,然后跳不到你要的界面咯

Android华为推送自定义动作的实现

2.在这个类里面,实现下面的方法:

Android华为推送自定义动作的实现

推送平台的uri怎么填呢?

给你一个参考

intent://com.hua.order/push_detail?url=#Intent;scheme=myscheme;launchFlags=0x10000000;component=com.hua.demo/.activty.HuaweiPushCustomActivity;end

3.把上面的uri填到框里

你会问,我要的参数呢?你上面说传一个url在哪?

请注意:


Android华为推送自定义动作的实现

这个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);

这个标签要跟Android华为推送自定义动作的实现成对存在!

引号里填写中转activity完整路径就行。

以为大功告成,没想到还会出现问题:

由通知栏启动之后,再点击通知,点击清除按键会出现两个app界面

解决办法:

添加该属性:

Android华为推送自定义动作的实现

设置为 true!

这下大功告成!

具体原理可以参考:

https://blog.****.net/goodlixueyong/article/details/49620667

https://www.aliyun.com/jiaocheng/13718.html


ok~