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 ответа:
Необходимо импортировать 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