Android与facebook集成显示错误配置错误

时间:2012-11-27 20:18:52

标签: android facebook

我有一个简单的代码如下:

package com.my_fb_app2;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

import com.facebook.android.AsyncFacebookRunner;
import com.facebook.android.DialogError;
import com.facebook.android.Facebook;
import com.facebook.android.Facebook.DialogListener;
import com.facebook.android.FacebookError;




public class MainActivity extends Activity {

Facebook facebook = new Facebook("118649691627381");
AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    facebook.authorize(this, new DialogListener() {
        @Override
        public void onComplete(Bundle values) {}

        @Override
        public void onFacebookError(FacebookError error) {}

        @Override
        public void onError(DialogError e) {}

        @Override
        public void onCancel() {}
    });
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    facebook.authorizeCallback(requestCode, resultCode, data);
}
}

运行keytool并给出密码给我哈希为:LlpxIc8nZd7s3uwvfBffXiIoJrQ =我保存在我的脸书应用程序中。

当我在模拟器程序上运行时,按照有意义运行,即询问登录信息,然后在验证后显示hello world!但是当我在我的galaxy s3打开时,应用程序会显示以下页面。此处提供的屏幕截图http://msu-footprints.org/2011/Aditya/screen.jpg

2 个答案:

答案 0 :(得分:0)

您的模拟器很可能没有安装Facebook应用程序,这就是它的工作原理(它使用Web视图代替)。无论如何,如果你收到这个错误,这意味着你的代码是正常的,并且Facebook的应用程序偏好在某种程度上是错误配置的。我的猜测是应用程序的hashkey生成错误。您可以尝试为另一个密钥库生成它并使用该密钥库签署应用程序

答案 1 :(得分:0)

正在为我的64位计算机使用开放的ssl 32位版本,这会产生错误的哈希密钥。