android - Pusher Android 订阅 channel 两次

标签 android pusher

我是 Android 和 Pusher 的新手。

我们刚刚在 Android Native App 中迁移了 Pusher。但是,我们面临订阅 channel 两次的问题(我认为连接也会两次)。

检查我们只是在 onCreate 下创建了 pusher 对象并建立了连接。

我们还在onResume下添加了pusher.subscribe,在onPause、onDestroy下添加了unsubscribe。 正如文档所说,订阅两次时会抛出异常。

当我启动应用程序时。我用附加的调试消息检查了日志。 显示两个连接。

Pusher Debug Console

附件是我的MainApp。任何人都可以帮忙吗?非常感谢。 :) ..... * 现在添加所有订阅和取消订阅的 try .. catch .. exception。

谢谢大家。由于我们处理这个问题将近5天......再次感谢大家。

2013-08-12更新: 大家好,我刚刚修改了日志,重新测试了程序。以下是我的结果:

Log from web service 我检查了连接是否仅从连接到连接一次。但是,推送器调试控制台向我展示了:

Pusher Debug Console - channel :2235d980e0621a54

这很奇怪。我们仍在调查此问题。

更新后的新源在这里: Latest Source - MainActivity

最佳答案

一些说明:

  1. 当您创建一个新的 Pusher 实例并调用 connect 时,您就建立了一个连接。
  2. 当您调用 pusher.subscribe('channel'); 时,您创建了对 channel 的订阅 - 而不是连接

您提供的代码在 onCreateonResume 中订阅相同的 channel 。您无需在 onResume 中重新订阅,因为库会为您处理。此现有代码可能会导致抛出异常。因此,您可以删除 onResume 代码并解决该问题。

我不确定您为什么会看到两个连接。您能否提供您应用程序中客户端日志的详细信息?

关于android - Pusher Android 订阅 channel 两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18131521/

相关文章:

android - 在 Android 中与远程服务器通信

javascript - 未捕获的类型错误 : callback is not a function while implementing pusher with laravel

android - Android 上的推送器

swift - 从 Sonos 回调 URL 将实时 json 数据发送到 Swift IOS 应用程序以订阅事件

javascript - YouTube API 和 Websockets 确保两个视频同步(视频 1 在视频 2 缓冲时暂停)

php - Laravel 5.5 中 $request->user() 返回 null

java - onpreviewframe byte[] 到 int[]

android - 离线Gradle构建失败

Android:如何读取磁条(信用卡等)数据

java - 以编程方式将 ImageView 添加到布局