簡體   English   中英

Android:Facebook LoginButton

[英]Android: Facebook LoginButton

請我有以下代碼,

其中loginButton是Facebook LoginButton。

    loginButton.setReadPermissions(Arrays.asList("user_events"));
    loginButton.setUserInfoChangedCallback(new LoginButton.UserInfoChangedCallback() {
                @Override
                public void onUserInfoFetched(GraphUser user) {
                    MainActivity.this.user = user;
                    //pb.setVisibility(View.VISIBLE);
                    myApp.user = user;
                    eventi.clear();
                    myApp.eventiCompleti.clear();

                    if (user != null) {
                        String srt = "";
                        getEvents chn = new getEvents();

                    //OTHRE STUFF
                    foo...foo

現在的問題如下。

我需要在按下Facebook LoginButton時進行攔截,以執行其他操作

但是如果我設置

  loginButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            // DO SOME OTHER STUFF
        }
    });

然后

 @Override
 public void onUserInfoFetched(GraphUser user)

回調不被調用...

請問我該如何解決?

我在會話生命周期的另一個時刻實現了請求的方法調用:

 private void onSessionStateChange(Session session, SessionState state,
        Exception exception) {
    if (isResumed) {
        FragmentManager manager = getSupportFragmentManager();
        int backStackSize = manager.getBackStackEntryCount();
        for (int i = 0; i < backStackSize; i++) {
            manager.popBackStack();
        }
        // check for the OPENED state instead of session.isOpened() since
        // for the
        // OPENED_TOKEN_UPDATED state, the selection fragment should already
        // be showing.
        if (state.equals(SessionState.OPENED)) {
            // showFragment(SELECTION, false);
            pb.setVisibility(View.VISIBLE);// <-- HERE IS THE METHOD I WANTED TO CALL
        } else if (state.isClosed()) {

        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM