Study/Android

KAKAO-API invalid android_key_hash 해결방법

nobang 2014. 11. 4. 16:27
728x90

   

원문 : http://huammmm1.tistory.com/373


당췌 API쓰기가 왜이렇게 어려운 건지...

카톡을 사용하려면 앱키와 키해시가 있다.


앱키는 앱을 추가할 때 카톡API에서 생성되는것이고

키해시는 실제 소스에서 APK생성시에 만들어진다.


카톡 API에서 키해시등록을 하는 방법이 귀찮게 되어있는데

샘플App의 시작Activity에서 아래 method를 호출하면 로그캣에 찍힌다.


KakaoTalkLoginActivity에서

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setBackground(getResources().getDrawable(R.drawable.kakaotalk_sample_login_background));
        Log.d("KakaoTalkLoginActivity", "onCreate ");
        getAppKeyHash();// 호출
    }


//////// method 추가

private void getAppKeyHash() {
        try {
            PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md;
                md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                String something = new String(Base64.encode(md.digest(), 0));
                Log.d("Hash key", something);
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            Log.e("name not found", e.toString());
        }
    }

728x90