android接入JPushSDK,init后自定义静态Receiver没有收到ACTION_REGISTRATION_ID

android
标签: #<Tag:0x00007fb8313160a0>

(3181626995) #1

我按照官网API文档上的配置接入了JPushSDK,在Application的onCreate方法中初始化。但是在自定义的BroadcastReceiver中没有收到cn.jpush.android.intent.REGISTRATION广播。
但当我切换手机网络的时候,自定义BroadcastReceiver是会收到cn.jpush.android.intent.CONNECTION广播,当我收到这个广播的时候调用getRegistrationID是可以正确获取到registrationId(我在控制台往这个registrationId发送消息在自定义BroadcastReceiver上也是可以收到的)。
下面附上初始化时的logcat信息
两个进程

主进程


PushService进程


#2

这说明你已经集成成功了,只是没有监听到广播,这个需要你debug一下。
是否做了配置等。



(3181626995) #3

已经配置了,是按照官方Demo上来的


目前看只有cn.jpush.android.intent.REGISTRATION推送没收到


#4

这个监听只有在第一次集成成功的时候才有,只有1次。

你连第一次广播都没有收到吗?

跑我们的demo会有吗?


(3181626995) #5

那后续应用被杀掉,再起来也不会触发这个广播吗


#6

是的,这个广播只有1次,之后要获取就是调用API


(3181626995) #7

是不是可以认为一台手机的RegistrationID是唯一的,不会改变的,在实际应用中只需要在第一次运行APP的时候记录下这个RegistrationID,直到用户卸载了我的APP,我都可以利用这个RegistrationID向这台手机发送推送?


#8

是的,Android即便卸载重装,基本上也不会改变

具体了解:


(3181626995) #9

了解了,谢谢