Facebook SDK Key Hash - 忘了?

时间:2015-04-21 15:09:18

标签: android eclipse facebook facebook-sdk-3.0

我已经正确地将Facebook SDK应用到我的Android应用程序中我相信开发密钥哈希等,我正在测试登录功能。我第一次使用这个功能,Facebook页面向我提供了通常的“此应用程序想要访问您的简历”与我的图片,点击接受它返回给我的应用程序,成功。但是第二次,从现在开始,它在单击登录按钮时显示以下错误。

“此应用未配置Android密钥哈希。请在”http://developer.facebook.com/apps/28748493729

配置应用密钥哈希值

似乎设置在使用它之后以某种方式忘记了我的密钥哈希,但是当我访问提供的链接时它显示开发密钥哈希仍然存在。我错过了关键哈希的工作原理吗?

任何帮助表示赞赏,

感谢。

1 个答案:

答案 0 :(得分:0)

public static String getKeyHash(Context context, String packageName) {
try {
    PackageInfo info = context.getPackageManager().getPackageInfo(
            packageName,
            PackageManager.GET_SIGNATURES);
    for (Signature signature : info.signatures) {
        MessageDigest md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        String keyHash = Base64.encodeToString(md.digest(), Base64.DEFAULT);
        return keyHash;
    }
} catch (PackageManager.NameNotFoundException e) {
    return null;
} catch (NoSuchAlgorithmException e) {
    return null;
}
return null;

}

使用上面的方法生成哈希密钥并将其添加到facebook开发者应用程序详细信息中 enter image description here

最好使用新的sdk,即Facebook sdk4