0

我正在使用 android 中的 smack api 开发聊天应用程序。如何使用 smack 在消息正文文本之间或结尾发送表情符号?对于收到的消息,我如何才能检测到文本文本在文本中的某些位置有表情符号。我已经提到了这个链接 http://www.igniterealtime.org/builds/smack/docs/latest/documentation/extensions/xhtml.html

这是发送和接收表情符号的唯一方式还是正确方式?

问题 2:我如何检测到我失去了 XMPP 服务器的连接。任何人都可以有这个想法请分享你的想法

4

3 回答 3

4

您可以使用 Android 中的以下侦听器检测 XMPP 连接是否丢失

connection.addConnectionListener(new ConnectionListener() {
    @Override
    public void reconnectionSuccessful() {
        // TODO Auto-generated method stub
        System.out.println("ConnectionListener ==== >>>>> reconnectionSuccessful");
    }

    @Override
    public void reconnectionFailed(Exception arg0) {
        // TODO Auto-generated method stub
        System.out.println("ConnectionListener ==== >>>>> reconnectionFailed >>> " + arg0.toString());
    }

    @Override
    public void reconnectingIn(int arg0) {
        // TODO Auto-generated method stub
        System.out.println("ConnectionListener ==== >>>>> reconnectingIn >>> " + arg0);
    }

    @Override
    public void connectionClosedOnError(Exception arg0) {
        // TODO Auto-generated method stub
        System.out.println("ConnectionListener ==== >>>>> connectionClosedOnError >>>" + arg0.toString());

    }

    @Override
    public void connectionClosed() {
        // TODO Auto-generated method stub
        System.out.println("ConnectionListener ==== >>>>> connectionClosed");
    }
});
于 2014-09-23T09:37:59.377 回答
1

将此库用于表情符号:

https://github.com/rockerhieu/emojicon

记得在通过 XMPP 发送数据包时进行 Base64 编码。如果没有 Base64 编码,XMPP 连接就有可能一直丢失。

快乐编码!:)

于 2014-11-18T14:23:33.777 回答
0

您的问题取决于两个主要方面;

  1. 您的所有用户都在使用您的客户端吗?
  2. 你想使用一大堆表情符号还是只使用标准表情符号?

如果您的用户都在使用您的客户端,您可以随心所欲地实现它。另一种可能的方法是想出将字符模式放置在消息正文中,该模式将由正则表达式模式搜索器拾取,但如果您使用多个表情符号,这会变得令人费解。

于 2013-09-03T05:53:15.757 回答