安卓Facebook SDK第二次登录问题

3

我有我的签名证书的哈希密钥,我使用keytool获取如下:

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl
base64

我已经成功生成了密钥,并将该密钥添加到我的Facebook开发者页面。

当我第一次运行我的应用程序时,它可以正常工作,但是当我注销并重新登录后再次尝试时,它会显示错误消息 - this app has no android key hashes configured

我也尝试了以下代码:

   try {
       PackageInfo info = getPackageManager().getPackageInfo(
               "com.example.mypack", PackageManager.GET_SIGNATURES);
       for (android.content.pm.Signature signature : info.signatures) {
           MessageDigest md = MessageDigest.getInstance("SHA");
           md.update(signature.toByteArray());
           Log.i("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
           }
   } catch (NameNotFoundException e) {
   } catch (NoSuchAlgorithmException e) {
   }

但是仍然无法正常工作。Facebook的hello示例应用程序也遇到了相同的问题。我该如何解决这个问题?

1个回答

1
在新的Facebook SDK中,您可以在中配置应用程序的哈希键:

enter image description here

但我也遇到了哈希密钥的问题。
当我们第一次配置应用程序时,您可以指定两个哈希密钥:
  • 开发密钥
  • 发布密钥

enter image description here

我认为Facebook在设置中错过了这个选项。

如何指定键?

1)打开您的应用程序设置并单击“入门”。

enter image description here

2) 选择 Android

enter image description here

3) 滚动到底部并点击“下一页”

enter image description here

4)更改开发\发布版本的密钥。

注意。在我的情况下,我为两个版本指定了相同的密钥。这不是一个好方法。


当我生成一个新的发布密钥哈希时,它也会显示相同的开发密钥哈希。 - siddharth
@siddharth,你在发布模式下更改了你的应用程序吗? - Sergey Shustikov
不行,我该怎么做? - siddharth
@siddharth 在“状态和审查”部分。您可以在页面顶部找到一个开关。 - Sergey Shustikov
但是我仍然得到相同的哈希键。 - siddharth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接