XMPP 메시지를 가로 채고 작업을 수행하는 백그라운드 프로세스를 개발하려고합니다. 주 XMPP 라이브러리로 asmack을 사용하고 있습니다. 특정 의도에 응답하는 broadcastReciever가 필요하다고 생각합니다. 문제는 의도를 제기하는 것입니다. 이 기능이 Google 토크 클라이언트에 있으므로 가능해야합니다. 미리 감사드립니다.Android의 XMPP 이벤트
4
A
답변
1
특정 의도에 응답하는 broadcastReciever가 필요합니다.
아마도 그렇지 않습니다. aSmack은 주로 Android와 관련이없는 Smack 인 것으로 보이므로 인 텐트에 대한 개념이 없습니다.
Google 토크 클라이언트에는이 기능이 있어야합니다.
"google talk client"는 AFAIK를 사용하지 않습니다.
2
이 동작을 실제로 수행하려는 경우 asmack XMPP 클라이언트를 실행하는 영구 백그라운드 서비스에 대해 생각할 수 있습니다. XMPP 클라이언트의 리스너 메소드 (즉, processPacket)가 의도를 발생시킬 수 있습니다. 그러면 BroadcastReceiver를 사용하여 다른 응용 프로그램이나이 응용 프로그램에서이 인 텐트를 포착 할 수 있습니다.
final Context context = getContext(); // or getApplicationContext(). context must be final.
PacketFilter packetFilter = new MessageTypeFilter(Message.Type.chat);
connection.addPacketListener(new PacketListener() {
@Override
public void processPacket(Packet packet) {
Message message = (Message) packet;
if (message.getBody() != null) {
String from = StringUtils.parseBareAddress(message.getFrom());
Intent intent = new Intent();
intent.setAction("your.package.XMPP_PACKET_RECEIVED");
intent.putExtra("from", from);
intent.putExtra("body", message.getBody());
context.sendBroadcast(i);
}
}
}, packetFilter);
또한 의도를 수신 XMPP를 통해 보내는 브로드 캐스트 리시버 (또는 IntentService)를 작성하여 다른 통신 방향을 구현하기 위해 시도 할 수 있습니다. BackgroundReceiver는 각 메시지에 대해 느리지 만 에너지를 절약 할 수있는 새로운 연결을 만들어야합니다 (XMPP 세션을 유지할 필요가 없습니다).
관련 문제
- 1. onPause, Android의 onResume 이벤트
- 2. Android의 캘린더 애플리케이션에서 이벤트 저장
- 3. Android의 알림 바에 터치 이벤트 사용 안함
- 4. 어떻게 이벤트 처리기를 Android의 하드웨어 버튼으로 설정합니까?
- 5. android의 listview 컨트롤에서 클릭 이벤트 감지
- 6. "xmlns : xmpp"& "xmpp : xmlns"차이점은 무엇입니까?
- 7. PHP와 XMPP 양방향
- 8. android의 상태 표시 줄에 대한 클릭 이벤트 사용 안함
- 9. 새로운 xmpp 계정을 node-xmpp (node.js)에 등록하십시오.
- 10. XMPP 서버 이름과 XMPP 서비스 이름의 차이점은 무엇입니까? 헤로인 API에서
- 11. XMPP 클라이언트 비 호환성
- 12. 아이폰 xmpp 관련!
- 13. PHP XMPP 봇 성능
- 14. XMPP MUC 문제
- 15. XMPP 서버 구성
- 16. XMPP (Smack) 메시지 보내기
- 17. XMPP 프록시 TLS 암호화
- 18. 블랙 베리 XMPP 메시지
- 19. Xmpp and Android
- 20. 오픈 소스 XMPP 구현?
- 21. XMPP (u'invalid-에서 '', ')
- 22. XMPP HTTP 바인딩
- 23. XMPP Jabber Hosting
- 24. Python XMPP 서버 라이브러리
- 25. XMPP ASMACK VCARD
- 26. j2me 폴란드어, xmpp
- 27. Ruby 용 XMPP 라이브러리
- 28. XMPP 웹 클라이언트
- 29. .NET의 Pandion과 XMPP 연결
- 30. Monit XMPP 알림