当用户尝试通过Facebook登录时,我的Android应用程序的登录页面会循环回来。此错误是由于Facebook sdk请求权限。很遗憾,只有在从Google Play商店下载应用时才会请求权限。我该如何调试此问题?
由于
答案 0 :(得分:1)
我认为当您生成Play商店版本(使用不同的应用程序签名,因此使用不同的密钥哈希)时,您尚未在Facebook控制台中添加应用程序的密钥哈希值。
将此代码添加到您的Main Activity onCreate()方法:
try {
PackageInfo info = context.getPackageManager().getPackageInfo(
"com.facebook.samples.hellofacebook",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.i("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
生成应用的Play商店版本并在您的设备上运行。
您应该在logcat日志中看到您的密钥哈希。只需在Facebook控制台中添加密钥哈希(设置>基本>密钥哈希),等待几分钟,它现在应该工作。
从主要活动中删除代码。