0

Facebook ログイン ボタンを使用して、Facebook ログインをアプリに統合しています。

  1. Facebook Login Button を押すと、資格情報が認証され、正常に完了したら、テキストを Log Out & Go に変更してアプリ内に移動します。

  2. アプリを使用してアプリを終了し、再びログイン画面に戻ったとき。ここでログアウトが表示されます-以前に自分自身を認証し、ログアウトしなかったためです。

  3. だから私の質問は、私がすでにログインしているか、セッションの有効期限が切れているかを区別する方法ですか?

ここに私が使用しているコードがあります:

LoginButton authButton;

authButton = (LoginButton) findViewById(R.id.authButton);
// set permission list, Don't forget to add email

authButton.setReadPermissions(Arrays.asList("basic_info", "email"));

authButton.setSessionStatusCallback(new Session.StatusCallback() {

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

            authButton.setReadPermissions(Arrays.asList("basic_info",
                    "email"));
            System.out.println("Inside Call");
            if (session.isOpened()) {
                fbToken = session.getAccessToken();


                                }

                            }
                        });

...................................................

事前にどうもありがとうございました。

よろしく、ラケシュ

4

1 に答える 1

0

Session.getActiveSession() を使用してセッションを取得し、セッション変更イベントをリッスンできます

Session session = Session.getActiveSession();
if (session != null && (session.isOpened() || session.isClosed()) ) {
    onSessionStateChange(session, session.getState(), null);
}

次に、セッションのステータスを確認します。

private void onSessionStateChange(Session session, SessionState state, Exception exception) {
   if (state.isOpened()) {
       Log.i("Logged", "Logged in...");
   }else if (state.isClosed()) {
       Log.i("Logged", "Logged out...");
   }
}
于 2013-07-25T11:08:55.573 に答える