2012-06-08 26 views

cevap

9

Tek bir Android Açık Kaynak Projesi var: Beem Project ve Facebook sohbetine bağlanmak için aşağıdaki yönergeleri kullanabilirsiniz. Android'de Facebook sohbet API uygulamak için

Adımlar:

  1. Önce mevcut projede MemorizingTrustManager Kütüphane projesini uygulamak zorunda.

    => Bunun için mevcut projede üç dosyayı aşağıdaki kopyalamak zorunda

    • MemorizingTrustManager/src/de/duenndns/ssl/MTMDecision.java
    • MemorizingTrustManager/src/de/duenndns/ssl/MemorizingActivity.java
    • MemorizingTrustManager/src/de/duenndns/ssl/MemorizingTrustManager.java

    => Ve değerler aşağıdaki değerleri ekleyin/string.xm l

    <resources> 
        <string name="mtm_accept_cert">Accept Unknown Certificate?</string> 
        <string name="mtm_decision_always">Always</string> 
        <string name="mtm_decision_once">Once</string> 
        <string name="mtm_decision_abort">Abort</string> 
        <string name="mtm_notification">Certificate Verification</string> 
    </resources> 
    
  2. İkinci adım, yerine SASLAuthentication gibi X-FACEBOOK-PLATFORM kullanmak yerine, Sen Facebook ile bağlanmak için kod aşağıdaki kullanılmış ve giriş bilgisi Facebook Jabber Kimliği (kullanıcı adı @ sohbet kullanarak yapabilirsiniz .facebook.com) Sonunda

public void connectToFb() throws XMPPException { 

ConnectionConfiguration config = new ConnectionConfiguration("chat.facebook.com", 5222); 
config.setSASLAuthenticationEnabled(true); 
config.setSecurityMode(SecurityMode.required); 
config.setRosterLoadedAtLogin(true); 
config.setTruststorePath("/system/etc/security/cacerts.bks"); 
config.setTruststorePassword("changeit"); 
config.setTruststoreType("bks"); 
config.setSendPresence(false); 
try { 
    SSLContext sc = SSLContext.getInstance("TLS"); 
    sc.init(null, MemorizingTrustManager.getInstanceList(this), new java.security.SecureRandom()); 
    config.setCustomSSLContext(sc); 
} catch (GeneralSecurityException e) { 
    Log.w("TAG", "Unable to use MemorizingTrustManager", e); 
} 
XMPPConnection xmpp = new XMPPConnection(config); 
try { 
    xmpp.connect(); 
    xmpp.login("facebookusername", "****"); // Here you have to used only facebookusername from [email protected] 
    Roster roster = xmpp.getRoster(); 
    Collection<RosterEntry> entries = roster.getEntries(); 
    System.out.println("Connected!"); 
    System.out.println("\n\n" + entries.size() + " buddy(ies):"); 
    // shows first time onliners----> 
    String temp[] = new String[50]; 
    int i = 0; 
    for (RosterEntry entry : entries) { 
     String user = entry.getUser(); 
     Log.i("TAG", user); 
    } 
} catch (XMPPException e) { 
    xmpp.disconnect(); 
    e.printStackTrace(); 
} 
} 
, sen tüm Buddy listesi alırsanız sizin LogCat View'de Facebook hesabı, this tutorial'u kullanarak basit bir Facebook sohbeti uygulayabileceğinden.

+2

+1 çok teşekkür ederim .. bunun üzerinde çalışacağım .... –

+1

cevabı kabul ettim ama başka bir cevap gelene kadar memnuniyetle karşıladım ;-) –

+0

Bu yöntemi denedim ama sadece bir liste döndürdü Arkadaşlarım ile bir şekilde ilişkili gibi görünen rastgele sayıların? Herhangi bir fikir? – Peter