XMPP交付收到带有ASMACK的XEP-0184

时间:2013-08-02 00:24:17

标签: android xmpp smack asmack

我想通过Asmack向收到的每封邮件发送收据,但是代码如下:

    DeliveryReceiptManager.getInstanceFor(connection).setAutoReceiptsEnabled(true);

结果:

  

08-02 02:19:30.669:E / AndroidRuntime(32597):java.lang。 NullPointerException   08-02 02:19:30.669:E / AndroidRuntime(32597):at org.jivesoftware.smackx.receipts.DeliveryReceiptManager。(DeliveryReceiptManager.java:62)   08-02 02:19:30.669:E / AndroidRuntime(32597):at org.jivesoftware.smackx.receipts.DeliveryReceiptManager.getInstanceFor(DeliveryReceiptManager.java:81)

确保连接对象不为空。 我按照这个页面来达到这一点: http://bamboo.igniterealtime.org/browse/SMACK-TRUNK-59/commit

http://www.java2s.com/Open-Source/Android-Open-Source-App/Utility/yaxim/org/yaxim/androidclient/service/SmackableImp.java.htm

2 个答案:

答案 0 :(得分:1)

您是否在上述代码之前调用连接对象上的connect?

答案 1 :(得分:1)

您可以在致电

之前尝试
<i>Class.forName("org.jivesoftware.smackx.ServiceDiscoveryManager");</i>