ToByteArray () no se resolverá para el inicio de sesión de facebook
Estoy creando una aplicación que requiere login y autenticación en facebook.
Estoy siguiendo
- Base64 Error: El contenido de la imagen no es válido base64 data java
- Android: la gravedad falla en API 18+
- Es SharedPreferences tiempo de acceso?
- ¿Por qué el AsyncTask de mi servicio bloquea AsyncTasks de la actividad principal?
- Patrones de desarrollo de Android
Https://developers.facebook.com/docs/android/getting-started#create-app
Tengo este error: cuando me golpeó el botón de inicio de sesión de facebook:
Varios mensajes dicen que este código debe resolver el error
El hash de clave no coincide con el inicio de sesión de facebook en 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) { }
Sin embargo, el método toByteArray () no se puede resolver!
¿Cómo puedo resolver este error y lograr el sencillo inicio de sesión de Facebook para mi aplicación?
- Mapas (colección) que mantiene la orden de inserción en java
- Rehacer la solicitud anterior cuando el primero falla con 401 No autorizado
- Fragmento de Android y referencia de objeto nulo
- La importación com.google.api.client no se puede resolver en Eclipse
- Funcionamiento de la colada en diversos niveles al tirar abajo
- Obtener el número de aplicaciones instaladas en un dispositivo Android?
- Cómo colorear texto utilizando Regex en android
- Android cómo obtener la cadena de respuesta de Callback usando OkHttp?
Debe importar un android.content.pm.Signature
y no un 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
- ¿Cómo se relaciona la posición de un adaptador de RecyclerView con el índice de su conjunto de datos?
- Salir de la aplicación android programaticamente