簡體   English   中英

在Android App中后台運行AsyncTask(Facebook登錄)時切換活動

[英]Switching Activity when AsyncTask (Facebook login) is running in the background in Android App

因此,單擊按鈕,將彈出Facebook登錄對話框。 用戶登錄后,我想再轉到另一個活動。 問題是,當我完成Facebook工作並開始新活動時,該活動在登錄過程完成之前就開始了。 關於如何才能僅在登錄過程完成后才能啟動新活動的任何想法? 謝謝。

login.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Session s = new Session(MainActivity.this);
        Session.setActiveSession(s);
        Session.OpenRequest request = new Session.OpenRequest(
                MainActivity.this);
        request.setPermissions(Arrays.asList("public_profile", "email"));
        request.setCallback(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() {
                                    @Override
                                    public void onCompleted(GraphUser user,
                                        Response response) {
                                    if (user != null) {

                                        userName = user.getName();
                                        userEmail = (String) user
                                                .getProperty("email");
                                        userID = user.getId();

                                    } else {
                                        Toast.makeText(
                                                getApplicationContext(),
                                                "Error User Null",
                                                Toast.LENGTH_SHORT)
                                                .show();                                                }
                                }
                            }).executeAsync();
                }
            }
        }); // end of call;
        s.openForRead(request);

        startActivity(new Intent(MainActivity.this, NextActivity.class));

    }
});

移動電話

startActivity(new Intent(MainActivity.this, NextActivity.class));

if (user != null)塊中的onCompleted中。 至此, MeRequest已完成,並且已成功返回用戶。

暫無
暫無

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

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