2013-07-31 2 views
0

나는 facebook android sdk에서 일하고 있습니다. 다음 코드를 사용하여 해시 키를 가져오고 있습니다. 이제 오류가 발생합니다. Facebook에 로그인하면 세션 상태 CLOSED_LOGIN_FAILED입니다.세션 상태 CLOSED_LOGIN_FAILED

참조 : if(session.isOpen()), facebook login on android always returning false

try { 
     PackageInfo info = getPackageManager().getPackageInfo(
       "your.root.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) { 

    } catch (NoSuchAlgorithmException e) { 

    } 
+1

키 해시가 변경되는 유일한 방법은 서명 키가 변경되는 것입니다. 그리고 이것은 결코 그것 자체에 일어나지 않습니다. 만약 당신이 여전히'debug.keystore'를 사용하여 USB를 통해 개발 및 전개하고 있다면 그것을 삭제하고 새로운 것을 재 작성하는 것이 제가 생각할 수있는 유일한 시나리오입니다. 그리고 불행히도 키 해시가 변경 될 경우 새 키 해시를 Facebook 개발자 콘솔에서 ** 수동으로 ** 업데이트해야합니다. 플랫폼에 관계없이 앱이 FB Dev 콘솔의 세부 사항을 편집/수정할 수있게 해주는 기능은 없습니다 (좋은 이유로도 _). –

+0

실제 문제가 발생할 때마다 세션 상태가 항상 false가됩니다. http://stackoverflow.com/questions/16176832/ifsession-isopen-facebook-login-on-android-always-returning-false –

+0

동일한 문제가 발생하는 경우 그 질문에 하나로서, 당신이 사용하는 코드는 그것을 고칠 것이다. 그렇게 말하면서, 나의 이전의 의견은 여전히 ​​유효하다. 그러나 페이스 북의 해시 키가 자동으로 바뀌면 내 앱이 작동하지 않습니다. : 앞에서 언급했듯이 ** 자신의 정보가 ** 변경되지 않습니다. _hash 키는 Facebook에서 변경되거나 안드로이드 app_에서 해시 키를 프로그래밍 방식으로 설정하는 다른 방법입니다. ** ** 할 수 없습니다. Facebook 개발자 콘솔에서 새 해시 키를 수동으로 업데이트해야합니다. –

답변

-1

OK 내 아들! 이 솔루션을 듣고

이 솔루션에 가서 조심스럽게 folow 저장 : http://www.helloandroid.com/tutorials/using-facebook-sdk-android-development-part-1

지금주의를 기울여야 : 당신이 자바 1.6로 작업을 수행해야합니다!

제 경우에는 두번 그가 내 원래의 키 저장소 파일을 제안했는데 확실하지는 않지만이 경우 이 필수적입니다.

아니요 : 상태 및 리뷰 앱을 공개하고 champein을 엽니 다.

(정말 싫어)