我正在开发一个Android应用程序,它使用facebook身份验证登录并将视频发布到用户的时间线。我跟着facebook教程,其他博客tutuorials但是当我安装原生facebook应用程序时,我无法完成整合工作。我已经检查了哈希并使用以下代码获得了哈希值,但总是得到相同的CLOSED_LOGIN_FAILED状态。
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.myApp",
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) {
}
有了这个,我在我的facebook应用程序中配置了哈希,当安装本机facebook应用程序时一切正常。但是当我安装它时,每次都会发生错误。
这是登录部分的代码
Session.openActiveSession(this, true, new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
//doing some stuff in here
}
}
});
在这里我重写了onActivityResult
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}