我有一个简单的代码如下:
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
答案 0 :(得分:0)
您的模拟器很可能没有安装Facebook应用程序,这就是它的工作原理(它使用Web视图代替)。无论如何,如果你收到这个错误,这意味着你的代码是正常的,并且Facebook的应用程序偏好在某种程度上是错误配置的。我的猜测是应用程序的hashkey生成错误。您可以尝试为另一个密钥库生成它并使用该密钥库签署应用程序
答案 1 :(得分:0)
正在为我的64位计算机使用开放的ssl 32位版本,这会产生错误的哈希密钥。