¿Cómo obtener la sesión de inicio de sesión de la aplicación de Facebook predeterminada en nuestra aplicación en Android?

Quiero hacer el inicio de sesión de Facebook desde mi aplicación y lo he hecho con éxito. Pero quiero, si la aplicación predeterminada de Facebook en mi dispositivo y ya inicié sesión, iniciará sesión automáticamente en mi aplicación.

No puedo entender cómo puedo obtener la sesión de inicio de sesión predeterminada de Facebook. Si alguien tiene alguna idea, por favor comparta conmigo. ¿Hay alguna manera de obtener información de Facebook con la información del dispositivo?

Estoy atascado en esto. Gracias por adelantado.

Utilicé con este código: ¿SOY DE MANERA CORRECTA? o ¿Necesitas usar otro código? Por favor sugiéreme ..

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());
                }
            });
        }
    }

Pero cada vez que tengo session.isOpen () = false. ¿Cómo puedo resolver esto por favor ayúdame. Estoy atascado en esto.

Respuestas a la pregunta(0)

Su respuesta a la pregunta