2013-06-22 3 views
0

У меня возникают проблемы с SDk входа facebook SDK 3.0.1 с Android 4.0.4 устройство, которое имеет установленное приложение facebook код работает отлично с GingerbreadFacebook Войти Проблемы с андроида 4.0.4

 private Session openActiveSession(Activity activity, boolean allowLoginUI, 
        StatusCallback callback, List<String> permissions, 
        Bundle savedInstanceState) { 

       OpenRequest openRequest = new OpenRequest(activity) 
         .setPermissions(permissions) 
         .setLoginBehavior(SessionLoginBehavior.SSO_WITH_FALLBACK) 
         .setCallback(callback) 
         .setDefaultAudience(SessionDefaultAudience.FRIENDS); 

       Session session = Session.getActiveSession(); 
       if (session == null) { 
        if (savedInstanceState != null) { 

         session = Session.restoreSession(this, null, fbStatusCallback, 
           savedInstanceState); 
        } 
        if (session == null) { 
         session = new Session(Login.this); 

        } 

        Session.setActiveSession(session); 
        if (session.getState().equals(SessionState.CREATED_TOKEN_LOADED) 
          || allowLoginUI) { 
         session.openForRead(openRequest); 
         return session; 
        } 
       } 

       return null; 
      } 



    private Session.StatusCallback fbStatusCallback = new Session.StatusCallback() { 
     @Override 
     public void call(Session session, SessionState state, 
       Exception exception) { 


      // callback for session state changes 
      if (state.isOpened()) { 


       Request.executeMeRequestAsync(session, 
         new Request.GraphUserCallback() { 
          @Override 
          public void onCompleted(GraphUser user, 
            Response response) { 
           if (user != null) { 
            if (response.getError() == null) { 
             JSONObject jsonObj = user 
               .getInnerJSONObject(); 
             String dat = jsonObj.toString(); 

             System.out 
               .println("The facebook response is >>>>" 
                 + dat); 
             WebServices wb = new WebServices(); 
             sWrapper = wb.FacebookUserData(dat); 

             if (progress != null) 
              progress.dismiss(); 

             SignupTaskForFaceBook st = new SignupTaskForFaceBook(); 
             st.execute(); 
            } else { 
             // Do something with the error 
            } 
           } 
          } 
         }); 

      } 
     } 
    }; 


@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     // TODO Auto-generated method stub 
     super.onActivityResult(requestCode, resultCode, data); 
     Session.getActiveSession().onActivityResult(this, requestCode, 
       resultCode, data); 



     if(resultCode==RESULT_OK) 
     { 
      progress = ProgressDialog.show(Login.this, "", 
        "Fetching facebook user data"); 
     } 
    } 

нет исключений или сообщения получил он спрашивает у меня разрешения и обратный вызов не вызывается

+0

славное имя брат –

ответ

0

Как оказался ключевым хэшем я получал от OpenSSL был неправильный, так что я получил мой ключ хэша от

try { 
PackageInfo info = getPackageManager().getPackageInfo("com.eatapp", PackageManager.GET_SIGNATURES); 
for (Signature signature : info.signatures) { 
    MessageDigest md = MessageDigest.getInstance("SHA"); 
    md.update(signature.toByteArray()); 
    Log.e("MY KEY HASH:", Base64.encodeToString(md.digest(), Base64.DEFAULT)); 
} 
} catch (NameNotFoundException e) { 

} catch (NoSuchAlgorithmException e) { 

} 

и начал работу

Смежные вопросы