android - herenow() successCallback 返回channel=null

标签 android callback null pubnub

也许您知道为什么当我调用 PubNubs hereNow() 函数时 successCallback 会获取“null”字符串作为 channel 名称:

HERENOW : SUCCESS on channel null : {"service":"Presence","message":"OK","occupancy":1,"status":200,"uuids":[{"uuid":"507ea4fb-be77-4e05-bdb9-9c5af69e3de7"}]}

我现在这样调用:

pubnub.hereNow("channelname", true, true, hereNowCallBack)

回调实现如下:

Callback hereNowCallBack = new Callback(){
        @Override
        public void successCallback(String channel, Object message) {
            Log.d("PUBNUB","HERENOW : SUCCESS on channel " + channel + " : " + message.toString());             
        }

        @Override
        public void errorCallback(String channel, PubnubError error) {
            Log.d("PUBNUB","HERENOW : ERROR on channel " + channel + " : " + error.toString());}
    };

对于所有其他 pubnub 函数,我确实在回调函数中获得了正确的 channel 名称 - 因此我想知道 pubnub jar 中是否可能存在错误?我使用的是3.7.0版本

谢谢, 马蒂亚斯

最佳答案

PubNub Here Now API

因为您在hereNow方法中提供了 channel 的值

pubnub.hereNow("my_channel", 回调);

您已经知道该值,因此回调中不会提供该值。

Callback callback = new Callback() {
  public void successCallback(String channel, Object response) {
    System.out.println(response.toString());
  }
  public void errorCallback(String channel, PubnubError error) {
    System.out.println(error.toString());
  }
};

但是将调用数据与回调联系起来可能很困难。在 SDK 的 future 版本中,有一些新功能可以帮助实现这一点。我们非常感谢您的反馈,并且肯定会考虑您的反馈,以使 API 更易于使用。

See full PubNub Java SDK docs for hereNow (也可使用其他 SDK)。

关于android - herenow() successCallback 返回channel=null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26572254/

相关文章:

android - 在 DrawerLayout 窗体上从右向左滑动 ExpandableListView

java - 如何在 Android 中用手指删除图像

javascript - 何时返回 jQuery 函数而不是仅仅调用它?

java - 日期时间解析错误

java - 以编程方式模拟平滑的拖动事件

ruby-on-rails - 为什么 OmniAuth::Strategies::Facebook::NoAuthorizationCodeError 未在omniauth on_failure 回调中处理?

javascript - 使用外部文件重构 React 的 componentDidMount() 中的嵌套异步回调

mysql - 如何使用 Rails SQL 查询搜索 nil 结果

go - 为什么 Go 中的错误可以为零?

c# - 如何为可能为 null 的对象执行 ToString?