【发布时间】:2014-12-12 17:13:16
【问题描述】:
我正在构建一个用户可以使用 Facebook 登录的应用。
我创建了如下哈希键:
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.app.package",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash", "KeyHash:"+ Base64.encodeToString(md.digest(),
Base64.DEFAULT));
Toast.makeText(getApplicationContext(), Base64.encodeToString(md.digest(),
Base64.DEFAULT), Toast.LENGTH_LONG).show();
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
在调试模式下,一切正常。
当我导出项目以进行发布时,它给出了这个错误:
"Invalid key hash. The key hash ****************** does not match any stored key hashes"
我粘贴了打印在 Facebook 开发者仪表板中的密钥,但应用程序仍然给我这个错误。
我的活动的完整包是“com.app.package.views”,我尝试在仪表板中使用这个包(作为 Google Play 包名称),但没有任何改变。
我该如何解决?如何生成正确的发布密钥哈希?
【问题讨论】:
标签: android facebook facebook-javascript-sdk