无法集成facebook连接到本机Android应用程序无法找到提供商信息

时间:2013-12-24 10:39:23

标签: android facebook connection hashmap provider

我想将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帐户已经过验证

我已经看过其他帖子,但我找不到解决方案

如何解决此问题

谢谢

1 个答案:

答案 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或其他原因,您设置的那个键不正确