仅在Google Play上显示的错误

时间:2013-11-05 16:32:42

标签: android facebook-android-sdk

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

由于

1 个答案:

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

从主要活动中删除代码。