android – smack消息发送状态

我正在使用smack和openfire在android中创建聊天应用程序.
对于消息状态我在其他情况下传送和显示消息没有问题
客户(仔细检查).
我将向发件人发送一条简单的json消息,如bellow:
 { “交付”:timestapmp}
 并解析它并仔细检查低于之前发送的时间戳的消息.
问题是关于发送状态(一次检查).
当我发送消息时,服务器没有响应消息发送的任何内容.
是否有可能在smack中发送带有来自服务器回调的消息.
如果可能的话,是否可以在回调响应中发送时间服务器.
谢谢 .

解决方法:

private void ackNowledgementFromServer(final Message message) throws StreamManagementException.StreamManagementNotEnabledException {
        if (connection != null && connection.isSmEnabled()) {
            connection.addStanzaIdAckNowledgedListener(message.getStanzaId(), new StanzaListener() {
                @Override
                public void processstanza(Stanza packet) throws SmackException.NotConnectedException, InterruptedException {

                        MessageAsyncTask task = new MessageAsyncTask(packet.getStanzaId(), MSG_STATUS_SENT);
                        task.execute();

                }
            });
        }

嘿,你可以这样做..每次你通过在上面的方法中传递该消息作为参数发送消息时调用方法

注意:应启用流管理以使其正常工作,可以如下所示:

DeliveryReceiptManager.setDefaultAutoReceiptMode(DeliveryReceiptManager.AutoReceiptMode.always);
        ProviderManager.addExtensionProvider(DeliveryReceipt.ELEMENT, DeliveryReceipt.NAMESPACE, new DeliveryReceipt.Provider());
        ProviderManager.addExtensionProvider(DeliveryReceiptRequest.ELEMENT, DeliveryReceipt.NAMESPACE, new DeliveryReceiptRequest.Provider());

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...