首先:我已经在stackexchange上尝试了所有有用的解决方案。到目前为止还没有人工作过。
所以这是我的问题:
我尝试在我的Android应用中集成facebook登录。我可以在第一次尝试“登录”(我有机会登录,但没有任何反应)。当我再次尝试时,我收到以下错误: “无效的密钥哈希。密钥哈希与任何存储的密钥哈希都不匹配“
我做了什么:
我在onCreate中添加了这个部分,但没有任何变化:
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.example.kndel.facebooklogin",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (PackageManager.NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
怎么了?我不知道
答案 0 :(得分:0)
将此函数添加到您的类中,并在oncreate方法中调用此函数,然后生成 signed apk (此函数将返回模式臭虫和释放的哈希键)并在您的设备中运行sign apk并检查log-cat,将生成的哈希密钥复制到facebook开发者控制台。
private void showHashKey()
{
// Add code to print out the key hash
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.kisan.kisan",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (PackageManager.NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
}
注意:此函数将返回模式臭虫和释放的哈希键。
检查facebook身份验证,它会正常工作