我在我的安卓应用程序上为FireBase使用了Facebook方法。错误如下:"Key散列B5dWUEYfZJL/.jyA=不匹配任何存储的密钥散列“。当我已经安装了应用程序,删除它并重新安装时,就会发生错误。类似的问题将在下面的链接中描述。
Facebook key hash does not match any stored key hashes
建议的解决方案是转到您的Facebook配置文件,从“设置”.like this中的权限列表中删除该应用程序。
该解决方案提供的工作和解决问题,但你不能去要求一个应用程序的用户去他/她的设置和删除应用程序的权限时,发生这种情况。在编程中有避免这个问题的方法吗?
发布于 2018-04-17 21:41:35
当这种情况发生时,我经常做的是在facebook控制台中添加错误消息中显示的键,但后来我发现指定和我发现我使用的是调试键,而调试键通常会改变。
现在我应用这个方法:在生成apk之前,我在模拟器中运行我的应用程序的发布版本,但是我在我的启动屏幕中激活了这个方法:
public void discoveryKeyHarsh() {
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.hmr.android.taskr",
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控制台。我再也没有“密钥不匹配任何存储的密钥散列”。
https://stackoverflow.com/questions/49887397
复制相似问题