내가 얼굴을 마주보고 openfire.The 문제를 사용하여 안드로이드 채팅 응용 프로그램을 만드는 오전 내가 가입 요청을 보내고 수락하는 방법을 알고 있지만 내가받은 경우 어떻게 알 수 있습니다 모든 구독 요청. 스탠자 리스너를 사용했지만 수신자가 가입 요청이 아닌 들어오는 채팅 메시지 만 듣고 있습니다. 다음은 내가 사전에 들어오는 가입 요청대로를 수신 할 수있는 방법,내가 어떻게 입을 열어 openfire 안드로이드에서 들어오는 가입 신청을들을 수
0
A
답변
0
구독 요청은 Message
아니다 .. 좀 도와주세요 헤로인에 초보자입니다 내 코드
StanzaFilter filter=new StanzaTypeFilter(Message.class);
PacketCollector collector=connection.createPacketCollector(filter);
connection.addAsyncStanzaListener(new StanzaListener() {
@Override
public void processPacket(Stanza packet) throws SmackException.NotConnectedException {
Log.wtf("MA","Stanz listner");
}
},filter);
입니다. 대신 Presence
입니다.
그래서, 당신은 아마 시도해야합니다 :
StanzaFilter filter = new StanzaTypeFilter(Presence.class);
0
이것은 내가 내 안드로이드 코드
StanzaFilter subscribefilter = PresenceTypeFilter.SUBSCRIBE;
PresenceSubscribeListener subscribeListener = new PresenceSubscribeListener(context.getApplicationContext(), connection);
connection.addSyncStanzaListener(subscribeListener, subscribefilter);
에서 수행 한 방법이다 그리고이 연결 객체가있다 Android에서 장시간 실행되는 서비스에서 참조되었습니다. 이것은 응용 프로그램이 백그라운드 일 때 패킷을 수신 할 때 수신되는 존재 패킷을 계속 처리 할 수 있도록 수행되었습니다.
P. 내 안드로이드 코드에서 매번 4.1.9를 사용하고 있습니다.
이 사용자에게 구독을 요청하면 어떻게됩니까? 이 "Stanz listner"는 로그에 인쇄되지 않습니까? – Farhan
StanzaTypeFilter는 반환 한 함수 'accept'를 구현합니다. – Farhan
난 그냥 들어오는 구독을 듣고이 모듈을 사용하고 있습니다. 내가 잘못 했나요? 만약 내가 틀렸다면 스탠자 필터 대신에 무엇을 써야한다고 말할 수 있습니까? 미리 감사드립니다. –