极光推送收不到推送消息
问题解决猜测为什么会出现问题问题
sdk版本号:
// 极光推送compile 'cn.jiguang.sdk:jpush:3.1.6' // 此处以JPush 3.1.6 版本为例。compile 'cn.jiguang.sdk:jcore:1.2.5' // 此处以JCore 1.2.5 版本为例。
新版的极光推送 gradle 自动配置可能是sdk自身有bug,导致推送服务无法正常启动,偶尔能正常启动,不是很稳定。
在logcat中查看找不到极光推送服务的进程:
进程中缺少:multiprocess
和:pushcore
进程,收不到推送就很正常了。
解决
在Application
的onCreate
方法中添加初始化方法:
// init jpush serviceJPushInterface.setDebugMode(BuildConfig.DEBUG);JPushInterface.init(this);
添加后再启动应用就会看到这两个进程了:
猜测为什么会出现问题
使用老版本的极光推送和umeng等其他第三方服务,我们都会看到需要调用下初始化函数以启动服务;新版的sdk因该使用了 ApplicationLifeCycle 接口来做的初始化,但是存在bug导致service不能每次都正常启动。