登录时登录facebook需要很长时间

时间:2013-11-15 16:41:48

标签: android facebook facebook-android-sdk

我在android中使用facebook sdk 3.5来创建自定义登录按钮后点击将获取facebook详细信息然后发送到服务器然后转到下一个意图(屏幕)。我已创建下面的代码并使用它但是进度对话框需要很长时间来访问Facebook上的onCompletemethod()也有时候它的timedOut.I已发布下面的代码请告诉我是否有比下面更好的登录方式,如果我可以减少登录Facebook所需的时间。我非常感谢你的帮助。谢谢你。

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


        }

    }

1 个答案:

答案 0 :(得分:0)

我有同样的问题。也许你找到了解决方案。 我在Nexus 4上遇到了问题,但没有在三星S3上得到它

对不起,我没有留下任何评论的声誉。

相关问题