Android Facebook聊天示例项目

时间:2012-06-08 09:45:00

标签: android facebook facebook-graph-api facebook-chat

我为iOS here找到了示例 Facebook聊天项目

我也得到了 Facebook聊天文档 here

同样,

有没有人知道facebook聊天示例应用程序或在android中实现fb聊天的方式?

1 个答案:

答案 0 :(得分:9)

有一个Android开放源代码项目可供使用:Beem Project而对于连接Facebook聊天,您可以使用以下指南。

在Android中实施Facebook聊天API的步骤:

  1. 首先,我们必须在现有项目中实施MemorizingTrustManager图书馆项目。

    =>为此,您必须复制现有项目中的以下三个文件

    • MemorizingTrustManager / SRC / DE / duenndns / SSL / MTMDecision.java
    • MemorizingTrustManager / SRC / DE / duenndns / SSL / MemorizingActivity.java
    • MemorizingTrustManager / SRC / DE / duenndns / SSL / MemorizingTrustManager.java

    =>并在 values / string.xml

    中添加以下值
    <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. 第二步,您可以使用以下代码连接Facebook并使用 SASLAuthentication ,例如 X-FACEBOOK-PLATFORM > Facebook Jabber ID(username@chat.facebook.com)

    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 facebookusername@chat.facebook.com
        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();
    }
    }
    
  3. 最后,如果您在LogCat View中获得Facebook帐户的所有好友列表,那么您可以使用this tutorial实现简单的Facebook聊天。