facebook connect for android返回空白登录界面?

时间:2010-11-18 15:02:14

标签: android facebook

我正在尝试使用旧的facebook连接身份验证来验证我的Android客户端,以获取必要的会话ID以及开始使用facebook的Web服务所需的其他凭据。

我遇到的问题是,当我的Android应用程序启动并尝试加载facebook的登录页面时,同一个登录页面是空白的,它只显示Facebook徽标作为屏幕的标题。

没有可见的登录字段或按钮,无法登录和验证用户。

我试过两个API的一个是facebook连接api for android http://code.google.com/p/fbconnect-android/,另一个是官方的android facebook sdk建议用来代替我之前提到的https://github.com/facebook/facebook-android-sdk/

请参阅下面的图片,了解它在我的应用上的样子。

alt text

以下是使用最新android sdk facebook的代码:

/**
 * Authenticate facebook network
 */
private void authenticateFacebook() {
    // TODO: move this away from this activty class into some kind of
    // helper/wrapper class
    Log.d(TAG, "Clicked on the facebook");

    Facebook facebook = new Facebook(OAUTH_KEY_FACEBOOK_API);

    facebook.authorize(this, new AuthorizeListener());
}

class AuthorizeListener implements DialogListener{

    @Override
    public void onComplete(Bundle values) {
        // TODO Auto-generated method stub
        Log.d(TAG, "finished authorizing facebook user");

    }

    @Override
    public void onFacebookError(FacebookError e) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onError(DialogError e) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onCancel() {
        // TODO Auto-generated method stub

    }

}

一个如何使用它的简单示例:http://developers.facebook.com/docs/guides/mobile/

我的代码或多或少与上面的例子相同。

编辑:我没有抓到logcat在我第一次尝试上面的代码时输入的内容,但是他们当时没有抛出异常或警告。只是一个空白页面。

我再次尝试了它并且没有触摸我的代码,现在发生的是加载对话框视图弹出并保持几分钟直到facebook窗口消失并且logcat输出以下错误:

  

11-18 17:26:19.913:   DEBUG / Facebook-WebView(783):Webview   加载网址:   https://www.facebook.com/dialog/oauth?type=user_agent&redirect_uri=fbconnect%3A%2F%2Fsuccess&display=touch&client_id=e ???????????????????   11-18 17:27:01.756:   DEBUG / Facebook-authorize(783):登录   失败:   com.kc.unity.agent.util.oauth.facebook.DialogError:   与服务器的连接是   不成功。 11-18 17:27:01.783:   DEBUG / Facebook-WebView(783):Webview   加载网址:   https://www.facebook.com/dialog/oauth?type=user_agent&redirect_uri=fbconnect%3A%2F%2Fsuccess&display=touch&client_id= ???????????????

请注意,我已经修改了客户端ID,原因很明显,但logcat的其余部分未受影响

2 个答案:

答案 0 :(得分:2)

我遇到同样的问题,原因是你手机上安装了Facebook应用程序。

和......

经过多方努力,我解决了这个错误。这很简单。这个错误将出现在2.2 android版本之上。可能是哈希键错误的原因。

解决此问题的步骤

打开添加为库的facebook库(com.facebook.android) 打开FaceBook.java班级 我们将找到private static final int DEFAULT_AUTH_ACTIVITY_CODE = 32665。您应该将DEFAULT_AUTH_ACTIVITY_CODE更改为-1 现在保存并清理并构建库和应用程序 注意:

此空白屏幕仅显示最新版本。

答案 1 :(得分:1)

如果有人遇到此问题,您可能在Facebook开发者网站中创建此应用程序时启用了沙箱模式。禁用它然后它可以正常工作。