facebook sdk登录nativecrypto错误

时间:2014-11-13 23:48:24

标签: android facebook ssl facebook-login

我使用Facebook SDK允许用户使用我的应用中的Facebook SSO按钮登录。它适用于所有Android设备(在sdk 7之上),除了一个。 Bedove HY5001,运行Android版本4.2.1。

当用户点击Facebook SSO登录按钮时,会发生Facebook身份验证(Facebook应用程序启动并按预期运行它的魔法)然后发生附加的logcat错误并返回活动,用户仍然没有 - 登录。

知道为什么会发生这种特定用户?使用facebook登录的其他Android应用程序工作正常。

以下是登录活动的代码:

 public class Loco extends FragmentActivity {

private String email, at;
private LoginButton loginBtn;
public Loco parent;
public Context context;
public String result;

private UiLifecycleHelper uiHelper;

private static final List<String> PERMISSIONS = Arrays.asList("email","publish_actions");

public boolean loggedin, registered, error;

SharedPreferences sharedpreferences;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    loggedin = false;
    parent = this;
    context = this;

    uiHelper = new UiLifecycleHelper(this, statusCallback);
    uiHelper.onCreate(savedInstanceState);

    setContentView(R.layout.login);

    loginBtn = (LoginButton) findViewById(R.id.fbLogin);
    loginBtn.setBackgroundColor(0xFF375796);
    loginBtn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

                loginBtn.setUserInfoChangedCallback(new UserInfoChangedCallback() {

                    @Override
                    public void onUserInfoFetched(GraphUser user) {
                        if (user != null) {

                            requestPermissions();
                            email = user.asMap().get("email").toString();

                            Intent intent = new Intent(parent, xxx.class);
                            startActivity(intent);
                            parent.finish();
                        } 
                    }
                });

        }

    });

}



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

            Log.d("FacebookSampleActivity", "Facebook session opened");

        } else if (state.isClosed()) {

            Log.d("FacebookSampleActivity", "Facebook session closed");
        }
    }
};

public boolean checkPermissions() {
    Session s = Session.getActiveSession();
    if (s != null) {
        return s.getPermissions().contains("email");
    } else
        return false;
}

public void requestPermissions() {
    Session s = Session.getActiveSession();
    if (s != null){
        s.requestNewPublishPermissions(new Session.NewPermissionsRequest(this, PERMISSIONS));
    }
}

@Override
public void onResume() {
    super.onResume();
    uiHelper.onResume();
    Session session = Session.getActiveSession();
    if (session.isOpened()) {
        at = session.getAccessToken();
        System.out.print(at + " Access Token inside onResume");
    } else {
        at = "invalid";
    }

}

@Override
public void onPause() {
    super.onPause();
    uiHelper.onPause();
}

@Override
public void onDestroy() {
    super.onDestroy();
    uiHelper.onDestroy();
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {

    super.onActivityResult(requestCode, resultCode, data);
    System.out.println("onactivityRes");
    uiHelper.onActivityResult(requestCode, resultCode, data);

}

@Override
public void onSaveInstanceState(Bundle savedState) {
    super.onSaveInstanceState(savedState);
    uiHelper.onSaveInstanceState(savedState);
}

}

logcat输出为:

  11-08 19:13:27.646: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e86e88 len=1,timeo=0
11-08 19:13:27.646: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e86ec0 len=1,timeo=0
11-08 19:13:27.646: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e86ef8 len=1,timeo=0
11-08 19:13:27.646: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e86f30 len=1,timeo=0
11-08 19:13:27.646: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e86f68 len=1,timeo=0
11-08 19:13:27.646: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e86fa0 len=1,timeo=0
11-08 19:13:27.646: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e86fd8 len=1,timeo=0
11-08 19:13:27.646: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e87010 len=1,timeo=0
11-08 19:13:27.646: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e87048 len=1,timeo=0
11-08 19:13:27.646: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e87080 len=1,timeo=0
11-08 19:13:27.646: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e870b8 len=1,timeo=0
11-08 19:13:27.646: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e870f0 len=1,timeo=0
11-08 19:13:27.646: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e87128 len=1,timeo=0
11-08 19:13:27.646: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e87160 len=1,timeo=0
11-08 19:13:27.646: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e87198 len=1,timeo=0
11-08 19:13:27.646: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e871d0 len=1,timeo=0
11-08 19:13:27.646: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e87208 len=1,timeo=0
11-08 19:13:27.646: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e87240 len=1,timeo=0
11-08 19:13:27.646: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e87408 len=1,timeo=0
11-08 19:13:27.646: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.646: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e87440 len=1,timeo=0
11-08 19:13:27.647: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.647: D/NativeCrypto(11422): Returned from SSL_Read() with result 1, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.654: D/NativeCrypto(11422): ssl=0x5e7d97c8 sslRead buf=0x41e8b5c8 len=650,timeo=0
11-08 19:13:27.654: D/NativeCrypto(11422): Doing SSL_Read() ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:27.654: D/NativeCrypto(11422): Returned from SSL_Read() with result 650, error code 0 ssl=0x5e7d97c8, appData=0x5ebec740
11-08 19:13:31.451: V/Provider/Settings(11422): invalidate [system]: current 567 != cached 0
11-08 19:13:31.456: V/Provider/Settings(11422): from db cache, name = sound_effects_enabled , value = 0
11-08 19:13:31.465: V/Provider/Settings(11422): invalidate [secure]: current 1 != cached 0
11-08 19:13:31.466: V/Provider/Settings(11422): from db cache, name = android_id , value = c8d6fdc530ca508c
11-08 19:13:31.468: D/dalvikvm(11422): create interp thread : stack size=32KB
11-08 19:13:31.469: D/dalvikvm(11422): create new thread
11-08 19:13:31.469: D/dalvikvm(11422): new thread created
11-08 19:13:31.469: D/dalvikvm(11422): update thread list
11-08 19:13:31.469: D/dalvikvm(11422): threadid=13: interp stack at 0x5dda2000
11-08 19:13:31.469: D/dalvikvm(11422): threadid=13: created from interp
11-08 19:13:31.469: D/dalvikvm(11422): start new thread
11-08 19:13:31.469: D/dalvikvm(11422): create interp thread : stack size=32KB
11-08 19:13:31.469: D/dalvikvm(11422): create new thread
11-08 19:13:31.469: D/dalvikvm(11422): new thread created
11-08 19:13:31.469: D/dalvikvm(11422): update thread list
11-08 19:13:31.469: D/dalvikvm(11422): threadid=13: notify debugger
11-08 19:13:31.469: D/dalvikvm(11422): threadid=13 (Timer-0): calling run()
11-08 19:13:31.470: D/dalvikvm(11422): threadid=14: interp stack at 0x5deaa000
11-08 19:13:31.470: D/dalvikvm(11422): threadid=14: created from interp
11-08 19:13:31.470: D/dalvikvm(11422): start new thread
11-08 19:13:31.470: D/dalvikvm(11422): threadid=14: notify debugger
11-08 19:13:31.470: D/dalvikvm(11422): threadid=14 (Timer-1): calling run()
11-08 19:13:31.472: D/dalvikvm(11422): create interp thread : stack size=32KB
11-08 19:13:31.472: D/dalvikvm(11422): create new thread
11-08 19:13:31.472: D/dalvikvm(11422): new thread created
11-08 19:13:31.472: D/dalvikvm(11422): update thread list
11-08 19:13:31.472: D/dalvikvm(11422): threadid=15: interp stack at 0x5dfb2000
11-08 19:13:31.472: D/dalvikvm(11422): threadid=15: created from interp
11-08 19:13:31.472: D/dalvikvm(11422): start new thread
11-08 19:13:31.473: D/dalvikvm(11422): threadid=15: notify debugger
11-08 19:13:31.473: D/dalvikvm(11422): threadid=15 (SharedPreferencesImpl-load): calling run()
11-08 19:13:31.473: D/dalvikvm(11422): threadid=15: exiting
11-08 19:13:31.473: D/dalvikvm(11422): threadid=15: bye!
11-08 19:13:31.694: D/skia(11422): Flag is not 10
11-08 19:13:31.741: I/SurfaceTextureClient(11422): [STC::queueBuffer] (this:0x5e8108c0) fps:0.10, dur:9748.44, max:9748.44, min:9748.44
11-08 19:13:31.741: I/SurfaceTextureClient(11422): [STC::queueBuffer] this:0x5e8108c0, api:1, last queue time elapsed:9748.44
11-08 19:13:31.806: V/InputMethodManager(11422): onWindowFocus: null softInputMode=289 first=true flags=#1810100
11-08 19:13:31.806: V/InputMethodManager(11422): START INPUT: com.android.internal.policy.impl.PhoneWindow$DecorView{41ed4ec0 V.E..... R.....ID 0,0-720,1280} ic=null tba=android.view.inputmethod.EditorInfo@41ef4e18 controlFlags=#104
11-08 19:13:31.819: V/InputMethodManager(11422): Starting input: Bind result=InputBindResult{com.android.internal.view.IInputMethodSession$Stub$Proxy@41ef5778 com.syntellia.fleksy.kb/com.syntellia.fleksy.keyboard.Fleksy #1002}
11-08 19:13:31.858: D/OpenGLRenderer(11422): Flushing caches (mode 0)
11-08 19:13:32.689: D/IPCThreadState(11422): [DN #5] BR_CLEAR_DEATH_NOTIFICATION_DONE cookie 0x5cc6b3b0
11-08 19:13:32.705: D/OpenGLRenderer(11422): Flushing caches (mode 1)
11-08 19:13:33.461: D/OpenGLRenderer(11422): Flushing caches (mode 0)
11-08 19:13:34.323: I/System.out(11422): onactivityRes
11-08 19:13:34.351: V/InputMethodManager(11422): onWindowFocus: null softInputMode=33 first=true flags=#1810100
11-08 19:13:34.352: V/InputMethodManager(11422): START INPUT: com.android.internal.policy.impl.PhoneWindow$DecorView{41644ef0 V.E..... R.....ID 0,0-720,1280} ic=null tba=android.view.inputmethod.EditorInfo@41f4dca0 controlFlags=#104
11-08 19:13:34.353: V/InputMethodManager(11422): Starting input: Bind result=InputBindResult{com.android.internal.view.IInputMethodSession$Stub$Proxy@41f4e540 com.syntellia.fleksy.kb/com.syntellia.fleksy.keyboard.Fleksy #1003}
11-08 19:13:34.472: D/FacebookSampleActivity(11422): Facebook session closed
11-08 19:13:34.516: D/OpenGLRenderer(11422): Flushing caches (mode 0)

1 个答案:

答案 0 :(得分:0)

我前段时间设法解决了这个问题,我想我会分享帮助他人的答案。说实话,我不知道为什么下面的代码适用于所有设备,而原始帖子中的代码并不适用于那个设备(Bedove HY5001)。我希望有人可以解释一下。

聚苯乙烯。为下面可怕的代码格式道歉。

  public LoginButton loginButton; //FB SSO button

    loginButton.setUserInfoChangedCallback(new LoginButton.UserInfoChangedCallback() {

    @Override
    public void onUserInfoFetched(GraphUser user) {
        LoginScreen.this.user = user;
    }

 });
loginButton.setReadPermissions(Arrays.asList(Configurations.fbReqPublicProfile,Configurations.fbReqEmail));
  // session state call back event
loginButton.setSessionStatusCallback(new Session.StatusCallback() {

   @Override
   public void call(final Session session, SessionState state, Exception exception) {

    if (session.isOpened()) {
            Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
                          @Override
                          public void onCompleted(GraphUser user,Response response) {
                              //Do your stuff here e.g as follows:
                             String facebook_email = user.asMap().get("email").toString();
                          }
                      });
          }

   }
  });
相关问题