Android 华为推送史诗级大坑

一、坑从何来

在华为mate9等部分华为手机上,当应用的进程被杀死时,一般情况下,华为手机锁屏进程都会被杀死(除非开启自启动权限),使用华为推送推送消息到手机端时,通知栏收到消息后点击直打开应用,不会去回调推送的onEvent()方法。导致不能针对消息进行操作,比如保存本地数据库等...

二、如何填坑呢?

一般情况下服务端在下发消息使用doings=1(即直接打开应用)发送消息给华为服务器。


9323091C-74B4-40BC-A3B7-641E19C1B1BB.png

使用这种方法推送消息,用户点击通知栏消息,系统会携带推送数据发送广播给App,但是在某些华为手机上会因为系统安全软件拦截广播,导致只打开应用,不能触发广播onReceive方法!

询问华为推送的客服大大之后,给出的建议是:
将doings改为2,即通过自定义动作打开应用

986922F0-DC7D-481B-BADD-E2DBE50EC10C.png

三、这是重点哈!

当我们发现这个问题时,我们的前期版本已上线,那时候华为Mate9还没上市,所以服务端改造起来还需要兼容老版本!

希望你们看到这篇文章的时候,你们还没有发版,哈哈哈!

最好还是华为把这个Bug给修复了!

华为推送的客服大大态度还是很好滴,还是很认真负责滴!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容