Intereting Posts
Perfect unique_id для устройства, кроме IMEI, Android_ID, WLAN Mac и Bluetooth-адреса Random () в sqlite и Android sdk Android OSM droid – установить уровень Max Zoom Ошибка SurfaceFlinger / gralloc Ошибка при выделении буферной памяти для использования с буфером виртуального фрейма на Android x86 Нуга AutoLink для карты не работает Android Studio – карта Google по-прежнему пуста на реальном устройстве Android Как уменьшить размер большого размера до размера миниатюр в android Java.lang.ClassCastException: android.view.ViewGroup $ LayoutParams нельзя отбрасывать в android.widget.RelativeLayout $ LayoutParams Android – Как показать направления в веб-представлении Ошибка: выполнение выполнено для задачи ': app: compileRetrolambdaLiveDebug Что использует веб-браузер для воспроизведения аудиопотоков? MediaPlayer или что-то еще? Html.fromHtml () устарел, какова альтернатива? Исключение из памяти Исключение при работе с растровыми изображениями Добавить элементы в заголовке BrowseFragment в Android TV Не удалось создать град для приложения Wear

XMPp + openfire + подтверждение сервера отправителю

Я разрабатываю приложение IM. Я хочу получить подтверждение во время

Когда сообщение получено сервером Openfire

Я использовал ниже градиенты

//XMPP Gradles compile 'org.igniterealtime.smack:smack-android:4.1.0' compile 'org.igniterealtime.smack:smack-tcp:4.1.0' compile 'org.igniterealtime.smack:smack-im:4.1.0' compile 'org.igniterealtime.smack:smack-extensions:4.1.0' 

Примечание . Я уже прошел через все ссылки StackOverflow и пришел к выводу, что Openfire не поддерживает XEP-0184 и описывает механизм получения квитанций.

Я также попробовал DeliveryReceiptManager и установил addReceiptReceivedListener, но не работал.

Любые обходные решения или предложения будут оценены.

Лучше прикрепить общий слушатель к каждому отправленному сообщению и соответствующим образом обновить вашу базу данных (и, следовательно, ваш интерфейс).

Определите случайный UUID для каждого исходящего сообщения:

 String stanzaId = UUID.randomUUID().toString() 

Прикрепите слушателя к вашему сообщению:

 xmppTcpConnection.addStanzaIdAcknowledgedListener(stanzaId , new StanzaListener() { @Override public void processStanza(Stanza packet) throws SmackException.NotConnectedException, InterruptedException { // You can match your stanzaId here! // packet.getStanzaId() } }); 

Добавить:

 compile "org.igniterealtime.smack:smack-tcp:4.2.0" 

Для получения объекта XMPPTCPConnection .