我的Android应用程序中有一个facebook登录按钮。我可以使用该按钮登录。按钮只有一次我可以使用Facebook登录按钮登录。我在成功注销后第二次登录失败。这是我收到的登录回复
Facebook ErrorInvalid密钥哈希。密钥哈希HG2kYV1on + 6yY1J7stl4KGrNsPA =与任何存储的密钥哈希值不匹配。在https://developers.facebook.com/apps/596405140754842/
配置您的应用密钥哈希值
但是我将这些哈希键复制到我的facebook devolopers页面中存储的keyhashes后登录。当我在另一部手机上安装此应用程序时出现同样的问题。我通过将无效的哈希密钥复制到我的Facebook开发者页面中存储的哈希密钥来解决它。我还在没有facebook应用程序的手机上安装了我的应用在这种情况下,会出现一个新的弹出窗口,询问电子邮件和Facebook密码。我可以在这些手机上登录和注销任意次数
但是我需要在登录时使用Facebook应用程序进行facebook登录,而无需为每部手机提供哈希密钥
答案 0 :(得分:1)
创建两个keyHashes
使用命令提示符:
$ keytool -exportcert -alias androiddebugkey -keystore "C:\Documents and Settings\Administrator.android\debug.keystore" | "C:\OpenSSL\bin\openssl" sha1 -binary |"C:\OpenSSL\bin\openssl" base64
使用以下代码:
private String getAppKeyHash() {
try {
PackageInfo info = getPackageManager().getPackageInfo(
getPackageName(), PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md;
md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
String something = new String(Base64.encode(md.digest(), 0));
return something;
}
} catch (Exception e) {
Log.e("exception", e.toString());
}
return null;
}
在Facebook开发者应用程序中添加两个关键词。
这会奏效。