Jak uzyskać domyślną sesję logowania do aplikacji Facebook w naszej aplikacji na Androida?

Chcę, aby logowanie z Facebooka odbywało się z mojej aplikacji, i zrobiłem to z powodzeniem. Ale chcę, jeśli domyślna aplikacja Facebook na moim urządzeniu i już się zalogowałem, automatycznie zaloguje się do mojej aplikacji.

Nie jestem w stanie zrozumieć, jak mogę uzyskać domyślną sesję logowania na Facebooku. Jeśli ktoś ma jakiś pomysł, podziel się ze mną. Czy jest jakiś sposób na uzyskanie informacji na Facebooku za pomocą informacji o urządzeniu?

Utknąłem na tym. Z góry dziękuję.

Użyłem tego kodu: AM I ON RIGHT WAY? lub Potrzebujesz użyć innego kodu? Proszę mi zaproponować ..

private void signInWithFacebook() {

        SessionTracker mSessionTracker = new SessionTracker(getBaseContext(), new StatusCallback() {

            @Override
            public void call(Session session, SessionState state, Exception exception) {
            }
        }, null, false);

        String applicationId = getResources().getString(R.string.applicationId);
        mCurrentSession = mSessionTracker.getSession();

        if (mCurrentSession == null || mCurrentSession.getState().isClosed()) {
            mSessionTracker.setSession(null);
            Session session = new Session.Builder(getBaseContext()).setApplicationId(applicationId).build();
            Session.setActiveSession(session);
            mCurrentSession = session;
        }

        if (!mCurrentSession.isOpened()) {
            Session.OpenRequest openRequest = null;
            openRequest = new Session.OpenRequest(LoginActivity.this);

            if (openRequest != null) {
                openRequest.setDefaultAudience(SessionDefaultAudience.FRIENDS);
                openRequest.setPermissions(Arrays.asList("offline_access", "publish_stream", "user_photos", "publish_checkins", "email"));
                openRequest.setLoginBehavior(SessionLoginBehavior.SSO_WITH_FALLBACK);

                mCurrentSession.openForRead(openRequest);
            }
        }else {
            Request.executeMeRequestAsync(mCurrentSession, new Request.GraphUserCallback() {
                @Override
                public void onCompleted(GraphUser user, Response response) {
                    Log.w("myConsultant", user.getId() + " " + user.getName() + " " + user.getInnerJSONObject());
                }
            });
        }
    }






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

        if (mCurrentSession.isOpened()) {
            Request.executeMeRequestAsync(mCurrentSession, new Request.GraphUserCallback() {

                // callback after Graph API response with user object
                @Override
                public void onCompleted(GraphUser user, Response response) {
                    Log.w("myConsultant", user.getId() + " " + user.getName() + " " + user.getInnerJSONObject());
                }
            });
        }
    }

Ale za każdym razem, gdy mam session.isOpen () = false. Jak mogę rozwiązać ten problem, pomóż mi. Utknąłem na tym.

questionAnswers(0)

yourAnswerToTheQuestion