2016-06-02 4 views
3

Ich habe Facebook-Integration in meiner App. Ich muss mich über facebook einloggen, ich habe appID und systemgenerierten Schlüsselhash in developer.facebook.com gespeichert. Ich gehe durch den Facebook-App-Login, es zeigt ungültigen Schlüssel-Hash und zeigt diesen Schlüssel-Hash an. Aber wenn ich die fb-App von meinem Gerät lösche. und es wird fb login durch chrom gehen und erfolgreich die benutzerdetails nehmen.Ungültiger Schlüsselhash. Der Schlüssel-Hash stimmt nicht überein. zeigt, wenn ich durch Facebook-App verbinden

Nun, was ich wissen will, ist, warum es Fehler zeigt, wenn Sie durch die Facebook-App gehen. Ich möchte die Facebook-App durchsuchen, also bitte geben Sie mir eine Lösung dafür.

Vielen Dank im Voraus.

Antwort

1

Paste unter Beispiel-Code in Ihrer OnCreate Methode der Anwendungsklasse (nur für SSH-Schlüssel bekommen)

import android.util.Base64; 
import android.util.Log;import android.content.pm.PackageInfo; 
import android.content.pm.PackageManager; 
import android.content.pm.Signature;import java.security.MessageDigest; 
import java.security.NoSuchAlgorithmException; 

MessageDigest md = null; 
try { 
    PackageInfo info = context.getPackageManager().getPackageInfo(
     context.getPackageName(), 
     PackageManager.GET_SIGNATURES); 
    for (Signature signature : info.signatures) { 
    md = MessageDigest.getInstance("SHA"); 
    md.update(signature.toByteArray()); 
    } 
} catch (PackageManager.NameNotFoundException e) { 

} catch (NoSuchAlgorithmException e) { 

} 
Log.i("KeyHash = ",Base64.encodeToString(md.digest(), Base64.DEFAULT)); 

Above-Code wird KeyHash in Ihrem Logs drucken. Kopieren Sie den geheimen Schlüssel und fügen Sie ihn in facebook Entwicklerfeld ein. Hinweis: Keyhash unterscheidet sich je nach Release/Debug-Umgebung oder siehe Bild unter enter image description here