0

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

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= 我已经保存在我的 Facebook 应用程序中。

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

4

2 回答 2

0

您的模拟器很可能没有安装 Facebook 应用程序,这就是它工作的原因(它使用 Web 视图代替)。无论如何,如果您收到此错误,则意味着您的代码是正常的,并且 Facebook 上的应用程序首选项配置错误。我的猜测是应用程序的哈希键生成不正确。您可以尝试为另一个密钥库生成它并使用该密钥库签署应用程序

于 2012-11-27T20:27:36.043 回答
0

正在为我的 64 位计算机使用开放 ssl 32 位版本,它创建了错误的哈希键。

于 2012-11-28T03:15:14.380 回答