2013-05-15 6 views
5

में काम नहीं कर रहा है मैं एस्मैक का उपयोग कर एंड्रॉइड के लिए चैट एप्लिकेशन विकसित कर रहा हूं। कनेक्शन स्थापित हो रहा है और मैं भी लॉगिन करने में सक्षम हूं। मैंने आईक्यू पैकेट के लिए श्रोता जोड़ा है और यह ठीक काम कर रहा है। मैं भी उपस्थिति पैकेटों के लिए श्रोता को शामिल किया है, यहाँ मेरी कोड है:उपस्थिति श्रोता Asmack

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); 

मेरे समस्या, इस श्रोता किसी भी भेजे उपस्थिति पैकेट के लिए बुलाया जा रहा है कभी नहीं किया जाता है। यह बाहर जाने वाले लोगों के लिए काम कर रहा है। मैं उपस्थिति को संभालने के लिए रोस्टर का उपयोग नहीं कर सकता क्योंकि हमारा सर्वर उपयोगकर्ता उपलब्धता को संभालने के लिए कुछ इंटेलिजेंट रूटिंग सेवा का उपयोग कर रहा है। क्या मैं यहां कुछ भी गलत कर रहा हूं? कोई भी इनपुट सहायक होगा।

उत्तर

-2

यदि आप रोस्टर का उपयोग नहीं कर सकते हैं तो क्या आप सुनिश्चित हैं कि इस ग्राहक को पहली जगह में कोई उपस्थिति भेजी जा रही है?

क्या उपयोगकर्ता है जिस पर ग्राहक नेटवर्क पर अन्य उपयोगकर्ताओं के रोस्टर पर साइन इन है?

क्या आपने क्लाइंट को एक क्लाइंट का उपयोग करके स्पष्ट रूप से एक उपस्थिति पैकेट भेजने का परीक्षण किया है जहां आप कच्चे एक्सएमएल को संपादित कर सकते हैं?

संबंधित मुद्दे