1

我想使用 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) :在 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

4

2 回答 2

1

打电话前可以试试

<i>Class.forName("org.jivesoftware.smackx.ServiceDiscoveryManager");</i>
于 2013-09-26T16:20:37.090 回答
1

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

于 2013-08-07T00:32:55.817 回答