我正在使用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 – smack消息发送状态全部内容,希望文章能够帮你解决android – smack消息发送状态所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)