Wie man den Status in XMPP openfire mit Smack eingibt

7

Ich entwickle eine Chat-Anwendung mit Openfire XMPP Server. Ich kann einen Chat zwischen zwei Benutzern schreiben. Aber ich möchte wissen, Typ eingeben, wenn jemand Nachricht eingibt. Also habe ich eine Klasse erstellt: -

%Vor%

Aber ich bin verwirrt, so wie es funktioniert? Ich weiß, dass ich ein Paket brauche, wo ich es in Listener kann. Aber ich kann das Paket nicht finden.

Bitte schlagen Sie irgendeinen vor, wie es funktioniert?

und was ist der Unterschied zwischen Smack und asmack?

Danke!

    
user2160008 26.08.2013, 04:18
quelle

8 Antworten

11

Um ChatStateListener zu aktivieren, müssen Sie eine benutzerdefinierte MessageListener Class

erstellen %Vor%

Dann erstellen Sie MessageListener object

%Vor%

Und dann übergeben Sie dies in der Create Chat-Methode

%Vor%

Was ist der Unterschied zwischen Smack und asmack? & lt; - Überprüfen Sie dies

    
Sunil Mishra 26.08.2013, 05:50
quelle
5

endlich habe ich die Lösung gefunden. Ich muss den Chat-Listener zusammen mit dem Chat-Manager verwenden und auch in der sendcomposingnotification -Funktion verwenden. Es ist nicht erforderlich, die Messageeventrequestlistener-Schnittstelle oder eine andere benutzerdefinierte Klasse dafür zu verwenden. Ich habe die folgenden Zeilen hinzugefügt,

%Vor%

und müssen auch eine Benachrichtigung wie folgt senden ..

%Vor%

wobei mem der Typ von MessageEventManger ist. Ref: Ссылка

    
Aneez 21.01.2014 09:56
quelle
2
%Vor%

benutze diesen code.hope, so funktioniert

    
John smith 16.01.2015 14:25
quelle
1

Ich benutze Chat-Status-Listener:

%Vor%

Binden Sie den Chatstatuslistener wie oben beschrieben an jede jid, dann:

%Vor%     
Akshay Paliwal 02.03.2015 10:17
quelle
1

Auf Klasse MMessageListener erstellen, um eingehende Nachrichten zu überwachen

private Klasse MMessageListener implementiert MessageListener, ChatStateListener {

%Vor%

Listener zu Ihrem Chatobjekt hinzufügen

Chat Mychat = ChatManager.getInstanceFor (Verbindung) .createChat (                     "Benutzer2 @ localhost"),                     mMessageListener);

Status an empfangenden Benutzer senden, wenn Texttext geändert wird

ChatStateManager.getInstance (Verbindung) .setCurrentState (ChatState.composing, Mychat);

Das funktioniert gut für mich.

    
Dharmesh 07.11.2015 06:23
quelle
0

Ihr oder ein anderer xmpp-Client, den Sie verwenden, sollte den Chat-Status für Sie senden. Sie können den Status abfangen.

Gefällt mir das;

%Vor%

oder

%Vor%     
Savas Adar 24.11.2014 12:37
quelle
0

Aber Sie können es auch von ProcessPacket bekommen. Dort bekommst du ein Message-Objekt, nachdem du dort einen xml-Teil entpacken und behandeln kannst, der einen bestimmten Chatstatus enthält oder nicht.

%Vor%

handle jetzt entsprechend deiner Anforderung.

    
Nikhil Borad 04.08.2016 11:47
quelle
0

Fügen Sie einfach ChatStateManager nach ChatManager intalization hinzu:

%Vor%

Dann müssen Sie ChatStateListener während createChat(to,chatMesageListener) hinzufügen:

%Vor%     
dastan 07.10.2016 11:37
quelle

Tags und Links