2013-08-02 1 views
1

Я хотел бы послать квитанцию ​​каждого принятого сообщения с Asmack, но следующий код:XMPP Доставка Квитанции XEP-0184 с ASMACK

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

результат в:

08-02 02:19 : 30.669: E/AndroidRuntime (32597): java.lang. NullPointerException 08-02 02: 19: 30,669: Е/AndroidRuntime (32597): в org.jivesoftware.smackx.receipts.DeliveryReceiptManager (DeliveryReceiptManager.java:62) 08-02 02:. 19: 30,669: Е/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

+0

Вы нашли решение для этого? Я столкнулся с такой же проблемой. получение nullpointer exception –

+0

@AkhileshSk Посмотрите ниже, в комментарии я ответил, что я сдался и сделал свое «подтверждение получения», то же самое сделал и другой парень, поэтому кажется, что он еще не решен. –

+0

Plz Можете ли вы рассказать мне, как вы обработали подтверждение получения? –

ответ

1

ли вы вызываете подключение объекта подключения до выше кода?

+0

Да, я просто сдался и реализовал идентификатор по-своему. Но если кто-то знает решение, возможно, это будет полезно для кого-то другого. –

+0

Я сделал это по-своему. Намного легче для контроля мелкого зерна, и я использую его для других функций –

1

Вы можете попробовать перед вызовом

<i>Class.forName("org.jivesoftware.smackx.ServiceDiscoveryManager");</i>