toByteArray() не будет разрешен для входа в facebook


Я создаю приложение, которое требует входа в facebook и аутентификации.

Я следую

Https://developers.facebook.com/docs/android/getting-started#create-app

Я получил эту ошибку: когда я нажал кнопку входа в facebook:

Введите описание изображения здесь

Несколько сообщений говорят, что этот код должен разрешить ошибку

Хэш ключа не совпадает при входе в facebook в android

:

  try {
            PackageInfo info = getPackageManager().getPackageInfo(
                    "com.hitup.hitup",
                    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)
        {

        }

Однако метод toByteArray() не может быть решена!

Введите описание изображения здесь

Как я могу устранить эту ошибку и получить простой логин facebook для моего приложения?

2 7

2 ответа:

Необходимо импортировать a android.content.pm.Signature и не один.java.security.Signature.

from Logcat you can get hash key of facebook please do copy from logcat which having Logcat tag "KeyHash" and put it in your project on developer.facebook site 

Введите описание изображения здесь

import android.content.pm.Signature;

      try {
        PackageInfo info = getPackageManager().getPackageInfo(
                **"do not forgot to 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) {

    } catch (NoSuchAlgorithmException e) {

    }



OR 

1. for Android default keystore  : add this to in your terminal 
 
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

2. for signed keystore 

keytool -exportcert -alias aliasname -keystore keystorename | openssl sha1 -binary | openssl base64