2013-11-15 1 views
2

안드로이드에서 facebook sdk 3.5를 사용하여 클릭 한 후 사용자 정의 로그인 버튼을 생성하면 페이스 북에 대한 세부 정보가 서버로 전송 된 후 다음 인 텐트 (화면)로 이동합니다. 아래 코드가 생성되었습니다 그것을 사용하지만 진행 대화 상자는 시간이 오래 걸립니다 onCompletemethod() 페이스 북에서 또한 때로는 timedOut.I 아래 코드를 게시했습니다 거기에 더 나은 방법은 아래 하나보다 로그인 할 수 있다면 내가 줄 수 있다면 로그인 페이스 북에 걸리는 시간. 정말 고마워요. 도움이됩니다. 미리 감사드립니다.페이스 북 로그인은 로그인하는 데 오랜 시간이 걸린다

public class MainActivity extends Activity { 

    private ProgressDialog progressDialog; 

    static String email; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 


     progressDialog = new ProgressDialog(MainActivity.this); 
     progressDialog.setMessage("Wait..."); 

     Button bt=(Button)findViewById(R.id.button1); 
     bt.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 

        runOnUiThread(new Runnable() { 
        @Override 
        public void run() { 
         progressDialog.show(); 

        } 
       }); 

       Session.openActiveSession(MainActivity.this, true, new Session.StatusCallback() { 

        // callback when session changes state 
        @Override 
        public void call(Session session, SessionState state, Exception exception) { 
         if (session.isOpened()) { 

          Request.newMeRequest(session, new Request.GraphUserCallback() { 

           // callback after Graph API response with user object 
           @Override 
           public void onCompleted(GraphUser user, Response response) { 
            if (user != null) { 

             progressDialog.dismiss(); 
        email= (String) response.getGraphObject().getProperty("email"); 
         Log.d("email", email); 

             new FetchTask().execute(); 

        } 
           } 
          }).executeAsync(); 

        } 
        } 
       }); 




      }}); 
    } 



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

     if(Session.getActiveSession() != null) 
     { 
      Session.getActiveSession().onActivityResult(MainActivity.this, requestCode, resultCode, data); 


     } 

    } 

답변

0

나는 동일한 문제가 있습니다. 어쩌면 당신은 해결책을 찾았을 것입니다. Nexus 4에는 문제가 있지만 삼성 S3에는 표시되지 않습니다.

죄송합니다. 의견을 남기려면 많은 평판을 얻지 못해 죄송합니다.