0

当用户尝试通过 Facebook 登录时,我的 Android 应用程序的登录页面正在循环返回。此错误是由于 Facebook sdk 请求权限造成的。不幸的是,只有在从 Google Play 商店下载应用程序时才会请求权限。我该如何调试这个问题?

谢谢

4

1 回答 1

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 控制台中添加密钥哈希(设置 > 基本 > 密钥哈希),等待几分钟,它现在应该可以工作了。

从您的主要活动中删除代码。

于 2013-11-05T17:31:16.170 回答