2015-04-02 90 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後將其刪除。