我试图让我的Android应用程序中的Facebook登录工作,我在关键哈希上堆叠:我使用
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
然后我把它上传到facebook。现在,如果我按下登录按钮,Facebook显示1秒钟并且向下显示,Logcat中没有显示什么是问题?
马兰
答案 0 :(得分:1)
在您的应用开发版本(未签名)中,只需使用此代码获取哈希:
try {
PackageInfo info = getPackageManager().getPackageInfo("com.your.package", 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) {
}
要在已签名的应用中记录此内容,请使用android:debuggable =" true"在清单
<application
android:debuggable="true"
...
</application>
答案 1 :(得分:0)
在调用facebook对话框之前,尝试检查您的活动是否已完成。如果发生这种情况,那么facebook对话框将无法再次调用启动器活动。