2015-06-16 3 views
0

Я использую smack API с сервером openfire, чтобы сделать приложение для Android. Я пытаюсь реализовать MessageEventManager и MessageEventProvider для своего приложения, чтобы он сказал мне, было ли сообщение доставлено или нет, хотя, когда я пытаюсь объявить его MessageEventManager, он не компилируется и не говорит мне, что я должен создать этот класс, что я могу сделать ? У меня есть следующие зависимости в моей градиенте:Android Smack MessageEventManager не компилируется

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile 'com.android.support:appcompat-v7:22.1.1' 
    compile 'org.igniterealtime.smack:smack-android:4.1.0-rc1' 
    compile 'org.igniterealtime.smack:smack-tcp:4.1.0-rc1' 
    compile 'org.igniterealtime.smack:smack-im:4.1.0-rc1' 
    compile 'org.igniterealtime.smack:smack-extensions:4.1.0-rc1' 
    compile 'org.igniterealtime.smack:smack-android-extensions:4.1.0-rc1' 
} 

Нужна ли мне дополнительная помощь? Буду признателен за любую помощь Спасибо.

IMG:

enter image description here enter image description here

+0

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

+0

@TommySM он не выдает ошибку, но когда я объявляю его в своем файле, он не говорит мне, что класс импорта просто говорит, что создает класс, я добавил изображение. – kobbycoder

+0

@TommySM не могли бы вы мне помочь по этому вопросу? [link] (http://stackoverflow.com/questions/31107005/android-smack-4-1-1-file-transfering-error-could-not-establish-socket) – kobbycoder

ответ

1

Ну, я могу ошибаться, но мне кажется, что это не входит в Smack4.1, я не могу сказать, если он устарел или нет, так как я не рассматривается в устаревших списках, а документация существует here и here for the parent class.

... Но то, что я нашел это this SO answer автором Смак, который четко заявляет, что

события сообщений в привкусом выполняются с помощью ныне устаревших XEP-22. Существует хорошая вероятность того, что другая сторона не реализует этот устаревший механизм.

Поскольку это датировано 3 года назад, может быть хорошей идеей искать другое решение или (в зависимости от ваших потребностей, возможно, не рекомендуется) использовать более старую версию Smack или aSmack.

+0

Да, я вчера занимался своим исследованием, и я прочитайте это тоже. Мне было интересно, есть ли способ узнать, доставлено ли сообщение на сервер или нет. Это хорошая идея сделать это с помощью DeliveryReceiptManager? – kobbycoder

+0

У меня меньше опыта с этим, но, быстро взглянув на Документы, он выглядит точно так, как вам нужно, я говорю, иди за ним. – TommySM

+0

спасибо, за вашу помощь bro я уже сделал это, но я думал, что есть простой способ LOL, но не беспокойтесь, мы разработчики xd, мы должны выяснить способ сделать то, что когда-либо понадобится или хотим: p еще раз спасибо. Tom i dont know, если вы можете отправить мне личное сообщение здесь, иначе как я могу добавить вас? XD – kobbycoder

0

Диспетчер сообщений (XEP-22) устарел сейчас, но команда smack все еще сохраняет его. Вы можете использовать smack legacy library throgh gradle

compile "org.igniterealtime.smack:smack-legacy:4.1.3"