2015-04-02 105 views
-1

我想为使用de facebook sdk登录的android构建一个应用程序。我遵循facebook程序使用sdk并生成密钥哈希值。现在,当我尝试登录时,我一直得到错误无效keyhash keyhash:不匹配任何存储的密钥哈希值。这很奇怪,因为我生成了我的keyhash并通过Facebook注册了它。但是这给了我错误。我试图用其他方式生成keyhashes,但这也不起作用。有谁知道如何解决这一问题。你会帮助我极大。无效发布密钥facebook sdk 4.0

问候

回答

0

如果您签署您的应用程序,那么,所以你需要得到Facebook的发行关键收到此错误。有很多方法可以得到它,但最简单的方法之一是这样的:

try { 
     PackageInfo info = getPackageManager().getPackageInfo(
          "com.your.package.name", 
          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 (NameNotFoundException e) { 
       e.printStackTrace(); 
      } catch (NoSuchAlgorithmException e) { 
       e.printStackTrace(); 
      } 

这将记录发布keyhash,并把它放在你的FB开发控制台上。干得好! 重要提示:您的应用程序必须使用密钥库进行签名,否则会记录调试密钥。 (也可以将你的软件包名称放入PackageInfo中)

将此代码写入任何活动的onCreate中,并在获得keyhash后将其删除。