我想将facebook连接集成到我原生的Android应用程序中 要做到这一点,我已经关注了facebook doc的tuto 但总是我有以下错误:
12-24 10:03:28.359: E/ActivityThread(3569): Failed to find provider info for com.facebook.katana.provider.PlatformProvider
12-24 10:05:37.119: D/dalvikvm(4104): GetFieldID: unable to find field Ljava/util/HashMap;.loadFactor:F
首先,会显示连接弹出窗口,但是在登录后我们没有到达运行此代码:
@SuppressWarnings("deprecation")
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
// make request to the /me API
Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
TextView welcome = (TextView) findViewById(R.id.welcome);
welcome.setText("Hello " + user.getName() + "!");
}
}
});
}
}
我不知道原因 我已生成hashkey并创建应用程序,但总是thjis错误
我第一次遇到错误,说我没有相同版本的android-support-v4,为了解决这个问题,我删除了我的应用程序,并让它与库一起工作< / p>
我的Facebook帐户已经过验证
我已经看过其他帖子,但我找不到解决方案
如何解决此问题
谢谢
答案 0 :(得分:0)
我找到了解决方案,问题来自哈希键,你必须读取那样的has键:
// Add code to print out the key hash
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.example.testhopelast",
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仪表板中设置此hach键,当然,由于openssl或其他原因,您设置的那个键不正确