我是 Android 和 Pusher 的新手。
我们刚刚在 Android Native App 中迁移了 Pusher。但是,我们面临订阅 channel 两次的问题(我认为连接也会两次)。
检查我们只是在 onCreate 下创建了 pusher 对象并建立了连接。
我们还在onResume下添加了pusher.subscribe,在onPause、onDestroy下添加了unsubscribe。 正如文档所说,订阅两次时会抛出异常。
当我启动应用程序时。我用附加的调试消息检查了日志。 显示两个连接。
附件是我的MainApp。任何人都可以帮忙吗?非常感谢。 :) ..... * 现在添加所有订阅和取消订阅的 try .. catch .. exception。
谢谢大家。由于我们处理这个问题将近5天......再次感谢大家。
2013-08-12更新: 大家好,我刚刚修改了日志,重新测试了程序。以下是我的结果:
我检查了连接是否仅从连接到连接一次。但是,推送器调试控制台向我展示了:
- channel :2235d980e0621a54
这很奇怪。我们仍在调查此问题。
更新后的新源在这里: Latest Source - MainActivity
最佳答案
一些说明:
- 当您创建一个新的
Pusher
实例并调用connect
时,您就建立了一个连接。 - 当您调用
pusher.subscribe('channel');
时,您创建了对 channel 的订阅 - 而不是连接
您提供的代码在 onCreate
和 onResume
中订阅相同的 channel 。您无需在 onResume
中重新订阅,因为库会为您处理。此现有代码可能会导致抛出异常。因此,您可以删除 onResume
代码并解决该问题。
我不确定您为什么会看到两个连接。您能否提供您应用程序中客户端日志的详细信息?
关于android - Pusher Android 订阅 channel 两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18131521/