【问题标题】:Pusher Android Subscribed Channel TwicePusher Android 订阅频道两次
【发布时间】:2025-12-18 21:55:02
【问题描述】:

我是 Android 和 Pusher 的新手。

我们刚刚在 Android Native App 中迁移了 Pusher。但是,我们在订阅 Channel Twice 时遇到了问题(我认为连接也会两次)。

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

我们还在 onResume 下添加了 pusher.subscribe,在 onPause、onDestroy 下添加了 unsubscribe。 如文档所述,订阅两次时将引发异常。

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

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

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

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

我检查了连接是从连接到连接一次。但是,推送器调试控制台向我显示:

- 频道:2235d980e0621a54

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

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

【问题讨论】:

    标签: android pusher


    【解决方案1】:

    一些澄清:

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

    您提供的代码订阅了onCreateonResume 中的同一频道。您无需重新订阅onResume,因为图书馆会为您处理此问题。此现有代码可能会导致引发异常。因此,您可以删除onResume 代码并消除该问题。

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

    【讨论】:

    • 您好,感谢您的回复。 :)。我们创建一个新的 Pusher 实例,并在 onCreate 下调用 connect。在 onConnectionStateChange() 中也实现了预期连接状态()。
    • 我会先尝试删除 onResume 并在此处更新。非常感谢您的帮助^^
    • 嗨,我的帖子更新了。非常感谢您的 [@leggetter] 帮助。
    • @Erwin 你查到这个了吗?