2013-05-15 36 views
5

Android için asmack kullanarak bir sohbet uygulaması geliştiriyorum. Bağlantı kuruldu ve ben de giriş yapabildim. IQ paketleri için dinleyici ekledim ve bu iyi çalışıyor. Burada, aynı zamanda Varlığı paketleri için dinleyici eklendi benim kodudur var: Benim sorunum, bu dinleyici herhangi bir gelen Varlığı paketler çağrısında alma asla edilir Durum dinleyicisi asmack içinde çalışmıyor

PacketTypeFilter presenceFilter=new PacketTypeFilter(Presence.class); 

connection.addPacketListener(new PacketListener() { 
    public void processPacket(Packet packet) { 
     Presence presence = (Presence)packet; 

     Log.d("test1","Presence packet came :From:"+presence.getFrom()+",Packet ID:"+presence.getPacketID()+",Priority:"+presence.getPriority()+",To:"+presence.getTo() 
          +",Exn:"+presence.toXML()); 

     if (presence.getType() == Presence.Type.available) { 
      Log.d("test1","User available"); 
     } 
     else if (presence.getType() == Presence.Type.unavailable) { 
         Log.d("test1","User not available"); 
     } 
    } 
}, presenceFilter); 

. Giden olanlar için çalışıyor. Sunucumuz, kullanıcının kullanılabilirliğini ele almak için bazı Akıllı Yönlendirme Hizmeti kullandığı için varlığı yönetmek için Roster'ı kullanamıyorum. Burada yanlış bir şey yapıyorum? Herhangi bir giriş yararlı olacaktır.

cevap

-2

Eğer liste kullanamıyorsanız, o zaman ilk önce bu istemciye herhangi bir varlığın gönderildiğinden emin misiniz?

Kullanıcı, istemcinin ağdaki diğer kullanıcıların listesini kullanarak oturum açmış mı?

İşlenmemiş xml dosyasını düzenleyebileceğiniz bir istemci kullanarak istemciye bir varlık paketi göndermeyi açıkça test ettiniz mi?