2013-07-18 102 views
0

我正在創建一個將與Facebook集成的Android應用程序。我已經能夠成功生成Key Hash,並且當我運行我的應用程序登錄時,我成功進入了接受權限按鈕。我點擊接受,從那以後,我一直無法從應用程序重新登錄。我給了錯誤「(插入我在這裏使用的密鑰)與任何允許的密鑰都不匹配。在(列出我的Facebook開發人員URL)中配置您的應用密鑰哈希」。有什麼理由爲什麼Key Hash能夠工作,然後就會停止?我沒有更改任何Facebook設置,也沒有更改任何應用程序代碼。我試着創建一個新的密鑰哈希,但仍然無法正常工作。任何想法,這可能是什麼,或如何解決它將不勝感激!Android Facebook Key Hash已停止工作

回答

2

我想通了。不知何故,哈希鍵只是停止匹配我在Facebook上插入的內容。使用facebook文檔,我在代碼中添加了onCreate方法,告訴我LogCat中的散列鍵是什麼。我還在一些日誌記錄代碼中添加了我的catch例外情況,以防我搞砸了我的軟件包名稱。這是代碼:

try { 
      PackageInfo info = getPackageManager().getPackageInfo(
        "com.your.package", 
        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) { 
      Log.d("Error1", "NameNotFoundException"); 

     } catch (NoSuchAlgorithmException e) { 
      Log.d("Error2", "Algorthim"); 

     } 

我補充說,並運行它後,我發現在我的日誌貓哈希鍵,然後只是複製了我的Facebook應用。保存它,再次運行應用程序,它的工作!

+0

您可以使用context.getPackageName()來代替「com.you.package」,使其更「可複製粘貼」 –