FacebookSDK Request.newMeRequest onCompleted调用了JELLYBEAN而不是KITKAT或LOLLIPOP

时间:2015-01-29 21:22:37

标签: android facebook request facebook-android-sdk

此代码导致在Samsung JELLYBEAN上调用onCompleted方法,但在Motorola KITKAT或LG LOLLIPOP设备上调用。日志在所有设备上返回W/Facebook test(20699): Facebook session status changed - OPENED - Exception: null

private class SessionStatusCallback implements Session.StatusCallback {
    @Override
    public void call(Session session, SessionState state, Exception exception) {
        String message = "Facebook session status changed - "
                + session.getState() + " - Exception: " + exception;                     
        Log.w("Facebook test", message);
        if (session.isOpened()) {
            Request.newMeRequest(session, new Request.GraphUserCallback() {
                @Override
                public void onCompleted(GraphUser user, Response response) {
                    Log.d("onCompleted",""); 
                }
            }).executeAsync();
        } 
    }
}

我已检查权限和存储的哈希值。这是我的onActivityResult方法:

  @Override
  public void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
      Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
  }

更新:我创建了一个与问题应用程序具有相同代码的测试项目。这个项目没有问题,这表明它不是一个java问题。关于Facebook的清单是相同的。我在每种情况下都有正确的app_id。除了包名,类名和密钥哈希之外,developers.facebook.com上的应用程序设置是相同的。

1 个答案:

答案 0 :(得分:0)

  • 转到developers.facebook.com
  • 选择您的应用
  • 选择状态和审核
  • 更改"您想制作此应用及其所有实时功能吗? 向公众开放?"没有 (此时我等了大约十分钟,可能没有必要)
  • 然后将相同的设置更改回YES