抱歉,对此发表了更多的帖子,但现有的帖子对我的情况没有帮助。我知道这一定很简单,但我真的找不到错误。我正在尝试在 facebook unsing facebook sdk 中连接我的 android 应用程序,但出现错误:
remote_app_id 与存储的 id 不匹配
很多人都有这个问题并轻松解决它修复密钥哈希。但在我的情况下仍然不起作用。一些信息:
1)我使用代码从应用程序收集调试密钥哈希:
PackageInfo info = getPackageManager().getPackageInfo(
"com.MYAPPPACKAGE.MYAPPNAME",
PackageManager.GET_SIGNATURES);
我检查了包名称(并且此代码不适用于错误的名称),因此我相信这里的密钥哈希是正确的。为了绝望,我仍然留下了从 jre6 和 jre7 keytool 生成的密钥哈希。还是不行。
2)在facebook设置中我放了:
包名:就像在清单中找到的一样。
类名:就像在清单主要活动中找到的一样。(使用复制过去复制两者以避免拼写错误);
脸书登录:活跃;
3)我检查了 app_id 字符串,没问题。
4)java代码。简单示例:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}
和:
private void testFacebook() {
Log.e("TF","testFacebook");
Session.openActiveSession(this, true, new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
Log.e("TF","session is open");
}
else {
Log.e("TF","Session not open");
}
}
});
}
另一件事:设备中安装了一个 facebook.apk。我试过让测试尽可能简单,但它仍然不起作用。有人知道我做错了什么吗?我发现的所有关于“remote_app_id 与存储的 id 不匹配”的帖子都解决了修复密钥哈希的问题,但是通过 GET_SIGNATURES 从应用程序获取的密钥应该是正确的,对吧?
谢谢!