簡體   English   中英

成功登錄Facebook后如何啟動其他活動?

[英]How can I start another activity after successful facebook login?

我是Facebook登錄的新手。 我已經成功地讓我的用戶能夠使用facebook進行注冊並從其個人資料中獲取一些信息。 但是,我無法開始下一個活動。 我將如何開始下一個活動。 這是我的代碼:

private LoginButton loginButton;
private CallbackManager callbackManager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FacebookSdk.sdkInitialize(getApplicationContext());
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.activity_start);
    final Context context = this;
 //   Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
 //   setSupportActionBar(toolbar);

    session = new SessionManager(getApplicationContext());

    final SharedPreferences user_data = getSharedPreferences("USER_PREFS", Context.MODE_PRIVATE);

    sharedpreferences = getSharedPreferences(USER_PREFS, Context.MODE_PRIVATE);

    final SharedPreferences.Editor editor = sharedpreferences.edit();

   // session.checkLogin();

    loginButton = (LoginButton)findViewById(R.id.login_button);
    loginButton.setReadPermissions(Arrays.asList(
            "public_profile", "email", "user_friends"));

    callbackManager = CallbackManager.Factory.create();

    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            // App code
            GraphRequest request = GraphRequest.newMeRequest(
                    loginResult.getAccessToken(),
                    new GraphRequest.GraphJSONObjectCallback() {
                        @Override
                        public void onCompleted(JSONObject object, GraphResponse response) {
                            Log.v("LoginActivity", response.toString());

                            // Application code
                            try {

                                editor.putString(user_email, object.getString("email"));
                                editor.putString(user_name, object.getString("name"));
                                editor.putString(user_dob, object.getString("birthday"));
                                editor.putString(user_phone, object.getString("phone"));
                                editor.apply();


                                Intent activity = new Intent(getBaseContext(), PhoneActivity.class);
                                startActivity(activity);
                                finish();
                                overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out);

                            } catch (JSONException e) {
                                e.printStackTrace();
                            }
                            // String birthday = object.getString("birthday"); // 01/31/1980 format

                        }
                    });
            Bundle parameters = new Bundle();
            parameters.putString("fields", "id,name,email,gender,birthday");
            request.setParameters(parameters);
            request.executeAsync();
        }

        @Override
        public void onCancel() {
            // App code
            Toast.makeText(getBaseContext(), "Sign up Cancelled", Toast.LENGTH_LONG).show();
        }

        @Override
        public void onError(FacebookException exception) {
            // App code
            Toast.makeText(getBaseContext(), "Sign up Failed", Toast.LENGTH_LONG).show();
        }
    });
}

將您的意圖放在嘗試捕獲塊之外

                       try {

                            editor.putString(user_email, object.getString("email"));
                            editor.putString(user_name, object.getString("name"));
                            editor.putString(user_dob, object.getString("birthday"));
                            editor.putString(user_phone, object.getString("phone"));
                            editor.apply();



                            overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out);

                        } catch (JSONException e) {
                            e.printStackTrace();
                        }

                          //**********over here**************
                            Intent activity = new Intent(getBaseContext(), PhoneActivity.class);
                            startActivity(activity);
                            finish();

暫無
暫無

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

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