簡體   English   中英

在Android片段中使用Facebook SDK

[英]Using facebook sdk in android fragment

當我打開會話並獲取Facebook數據時,保存片段的活動突然彈出。 看起來像這樣:

對於facebook數據正在下載的時間(2秒),我在我的片段中看到了這一點。

我可以正常獲取數據和所有內容,但是在2秒鍾內,facebook數據正在下載,我看到的只是我的活動。

我的活動包括:

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


}

在我的片段中,我像這樣打開會話:

 s.openActiveSession(mActivity, false, mCallback);

打回來:

 private Session.StatusCallback mCallback = new Session.StatusCallback() {

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

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

                @Override
                public void onCompleted(GraphUser user,
                        com.facebook.Response response) {

                    try {

                        editEmail.setText((String) user.getProperty("email").toString());
                    }catch(Exception e){

                        Toast.makeText(mActivity,"We couldn't retrieve your email because you didn't confirm your email!",Toast.LENGTH_LONG).show();
                    }

                    editName.setText(user.getFirstName());
                    editSurname.setText(user.getLastName());

                                            Session.getActiveSession().closeAndClearTokenInformation();
                    Session.setActiveSession(null);


                }
              });
            }

        }

任何想法,將不勝感激!

主線程中的活動過多。 改用異步任務:

Request.newMeRequest(session, new Request
       .GraphUserCallback() { ... }).executeAsync();

暫無
暫無

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

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