解决华为推送通知栏点击事件onEvent方法不回调的问题

全世界最坑的就是华为推送的SDK,不管你信不信,反正,我是信了!(我花了大半天的时间集成华为推送,用了不到20分钟,集成了Vivo推送.)

请注意,在确认照官方文档配置无误后,仍然收不到onEvent回调的,请看这里:
这里有两个Receiver(官方文档只有一个,另一个没有给名字,说什么不建议,但不建议,onPushMsg又不会调用,真是狗血!)。
第一个用于接收透传、Token。
第二个用于接收通知栏的点击事件。
为什么这样设计,我看不懂!
(xxx 是包名)

        <receiver android:name="xxx.push.HWPushReceiver"
                  android:permission="xxx.permission.PROCESS_PUSH_MSG">
            <intent-filter>
                <!-- 必须,用于接收token -->
                <action android:name="com.huawei.android.push.intent.REGISTRATION"/>
                <!-- 必须, 用于接收透传消息 -->
                <action android:name="com.huawei.android.push.intent.RECEIVE"/>
                <!-- 必须, 用于接收通知栏消息点击事件 此事件不需要开发者处理,只需注册就可以-->
                <action android:name="com.huawei.intent.action.PUSH_DELAY_NOTIFY"/>
            </intent-filter>
        </receiver>

        <receiver android:name="xxx.push.HWNotifyReceiver">
            <intent-filter>
                <!-- 用于点击通知栏或通知栏上的按钮后触发onEvent回调 -->
                <action android:name="com.huawei.android.push.intent.CLICK"/>
                <!-- 查看push通道是否连接, 不查看则不需要 -->
                <action android:name="com.huawei.intent.action.PUSH_STATE"/>
            </intent-filter>
        </receiver>

HWNotifyReceiver 类的代码

/**
 * @Author Lyf
 * @CreateTime 2019/04/09 11:38
 * @Description 华为的通知栏点击事情
 **/
class HWNotifyReceiver : PushReceiver() {

    override fun onEvent(context: Context?, event: PushReceiver.Event?, extras: Bundle?) {
        super.onEvent(context, event, extras)
        LogUtils.log(PUSH_TAG, "收到华为推送消息=" + GsonUtil.parse(extras))
    }

}

如果还不行,继续看下面的图片,这里的自定义内容,是必须添加的!至少一对键值对!
服务端的推送,则是对应customize参数。

在这里插入图片描述

如果觉得有用,请给个赞! 并**一下华为推送的架构设计者,麻烦让他去吃**!

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值