极光无法推给其他包名的activity


(飞向你得世界) #1

极光老用户了,今天做项目发现极光只能推给注册时平台上包名路径下面的activity页面,如果我当前是其他模块下面的activity,那么极光推送就接不到了,只有返回主module才能把刚才没接到的都接到。大神名。。指点一下,遇到过这种吗?????


#2

极光推送只需要你长连接连上就可以收到,你[quote=“iliveyou, post:1, topic:27963”]
当前是其他模块下面的activity
[/quote]
在这种情况下,有调极光的 stoppush API 吗?你说的收不到,是通知栏上消息也不展示了?还是展示了没有走你的自定义广播接收器?

看一下你的客户端日志信息,收不到推送的时候,长连接预期是断开状态,这样的情况日志里面会打印信息的。

一个应用只有一个包名,你所说的其他模块具体指的是?
你集成 SDK 的时候是怎么集成的,你的工程结构是怎样?


(飞向你得世界) #3

project
-app
-com
–test
—mainacitvity
-u3dlibrary
–activity页面

我注册极光的时候是使用的app下的包名,而u3dlibrary是该project工程下面的一个u3d模块,但是这个模块里面有一个activity页面,这个时候,只要跳到了这个u3d下面的acitivy就无法接收推送,只能我返回到主com.test.mainactivity这个时候刚才没接收到的推送一下子都过来了。


#4

看一下客户端日志,在你跳到这个 activity 页面的时候,极光的日志有何变化


(飞向你得世界) #5

所以我怀疑是因为,我注册极光的时候填写的项目报名加入是com.hh.test而我新加入的这个u3d模块里面也有一个acitivity页面,这个页面所在的包名师COM.xx.hh所以极光无法找到这个名字是COM.xx.hh,就接收不到推送了,当我返回到com.hh.test页面下的activity时,极光找到了就推过来了。


(飞向你得世界) #6

日志没有记录错误等信息,现在的情况是我当前在一个非注册包名下面的activity页面,同时在控制台发送一条推送,此时无法接收到推送消息,也没有任何日志记录提示。但是当我回退到上一级,也就是注册极光时使用的那个包名下的activity,就把刚才那条推送通知接收到了。


#7

为什么你一个应用有两个包名呢?应用内的某个模块还有自己单独的包名?这样是被 Android 系统允许的?

客户端日志,开启 debug,筛选 jiguang 后提供一下看看。


(飞向你得世界) #10

您好,我找到原因了,是因为我这个项目里面调到其他activity时候,调用了JPushInterface.stop(getApplicationContext());
倒是关闭了推送服务。。。我当前使用的是3.1.3版本,jcore是1.2.1.。。。。。。。。

但是另一个问题来了,我之前用过的项目,版本是3.1.1,jcore是1.1.9,这个版本我从来都不用JPushInterface.resumePush(getApplicationContext());和JPushInterface.stop(getApplicationContext());是不是极光升级了之后,必须要手动开启和关闭才行,之前的版本默认都是开启的。


#11

这个 API 没有什么变化,SDK 不会默认调用 stoppush API

你不需要该功能的话先 resumepush 恢复后,再直接去掉这个 stoppush API ,之后就不会出现这样的情况。