解决`jpush-react-native`通知点击不唤醒app(android)

遇到问题

最近在集成了jpush-react-native推送模块之后,能顺利接收到消息(后台)
但就是点击通知的时候,没反应

翻了一大堆的问题issue论坛帖子。。 还是无解

尝试解决

然后开始去翻阅代码,发现了点击推送的事件:
cn.jpush.reactnativejpush/JPushModule.java 544行最后:
github链接:https://github.com/jpush/jpush-react-native/blob/master/android/src/main/java/cn/jpush/reactnativejpush/JPushModule.java#L544

if (isApplicationRunningBackground(context)) {
    intent = new Intent();
    intent.setClassName(context.getPackageName(), context.getPackageName() + ".MainActivity");
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.F

看到了吧,有个setClassName方法,设定了我们程序的Activity名称。

解决问题

继续翻阅自己的代码,终于发现了问题的根源:自己更改了applicationId(在android/app/build.grade配置下),但是又没有更改原始的代码结构,导致无法通过这个类名进行唤醒。。

所及解决办法就好办了,要么重新把applicationId该回来,要么更改jpush-react-native的源码,把刚刚那一行改为:

intent.setClassName(context.getPackageName(), "com.xxxx.MainActivity");

其中com.xxx为你AndroidManifest.xml文件的package属性

你可能感兴趣的:(解决`jpush-react-native`通知点击不唤醒app(android))