我想通过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
答案 0 :(得分:1)
您是否在上述代码之前调用连接对象上的connect?
答案 1 :(得分:1)
您可以在致电
之前尝试<i>Class.forName("org.jivesoftware.smackx.ServiceDiscoveryManager");</i>