【问题标题】:Android Smack XMPP stanza listener : Missing stanza attributeAndroid Smack XMPP 节侦听器:缺少节属性
【发布时间】:2018-03-20 13:37:41
【问题描述】:

这是从 api 创建的节:

<message xmlns="jabber:client" to="+60123333xxx@xxxx.xxxx.my/84947029xxx52245593xxx" from="7xxxa-3cd4-44c6-b5xxxxe5d3@xxxx.xxxx.xxxx.my">
    <x xmlns="jabber:x:conference" reason="new group chat : mucduke" jid="7xxxa-3cd4-44c6-b5xxxxe5d3@xxxx.xxxx.xxxx.my"></x>
    <body>new group chat : mucduke</body>
</message>

我在 android 中使用 connection.addAsyncStanzaListener(stanzaListener, stanzaFilter) 来获取节,但如果节中缺少“原因”和正文元素,则将其归属。谁能帮助我为什么会发生这种情况?

【问题讨论】:

    标签: android xmpp smack


    【解决方案1】:

    使用以下StanzaTypeFilter 添加addSyncStanzaListener

     StanzaTypeFilter filter = new StanzaTypeFilter(Message.class);
    
        mStanzaListener = new StanzaListener() {
            @Override
            public void processPacket(Stanza stanza) throws SmackException.NotConnectedException, InterruptedException {
                    onMessageReceived(stanza);
            }
        };
        connection.addSyncStanzaListener(mStanzaListener, filter);
    

    获取stanzaonMessageReceived

    public void onMessageReceived(Stanza stanza) {
    
      if(stanza instanceof Message){
          Message msg= (Message) stanza;
          msg.getBody();
          ...
          ...
          }
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多