Как получить значения с помощью кнопки входа в Facebook и передать ее в другой вид деятельности - PullRequest
0 голосов
/ 17 сентября 2018
public class LoginActivity extends AppCompatActivity {
LoginButton fbloginButton;
CallbackManager callbackManager;
private static final String TAG = "LoginActivity";
private static final int REQUEST_SIGNUP = 0;

@BindView(R.id.input_email) EditText _emailText;
@BindView(R.id.input_password) EditText _passwordText;
@BindView(R.id.btn_login) Button _loginButton;
@BindView(R.id.link_signup) TextView _signupLink;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);
    ButterKnife.bind(this);
    fbloginButton=(LoginButton)findViewById(R.id.login_button);
    fbloginButton.setReadPermissions("email","public_profile");
    callbackManager = CallbackManager.Factory.create();
    fbloginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            String userid=loginResult.getAccessToken().getUserId();
            GraphRequest graphRequest=GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
                @Override
                public void onCompleted(JSONObject object, GraphResponse response) {

                    displayUserInfo(object);
                }
            });
            Bundle parameters=new Bundle();
            parameters.putString("fields","first_name,last_name,email");
            graphRequest.setParameters(parameters);
            graphRequest.executeAsync();


        }
        public void displayUserInfo(JSONObject object)
        {
            String first_name="",last_name="",email="";
            try {
                ***first_name=object.getString(first_name);
                ***last_name=object.getString(last_name);
                ***email=object.getString(email);
            } catch (JSONException e) {
                e.printStackTrace();
            }


        }

Это мой код LoginActivity.java

Я хочу получить значения, указанные ***, и передать их следующему действию в соответствующих полях. В следующем упражнении есть пять полей: имя, адрес, адрес электронной почты, номер мобильного телефона и пароль. я хочу получить значения имя и фамилию и передать их в поле имени и адрес электронной почты в поле электронной почты.

Я новичок в разработке Android.

1 Ответ

0 голосов
/ 17 сентября 2018

Вам нужно определить слушателя, который начнет следующее действие; Например, хотите ли вы, чтобы следующее действие началось с onComplete () или onSuccess () или где-то еще? Везде, где вы хотите запустить следующее действие, поместите код ниже;

startActivity(new Intent(LoginActivity.this,   NextActivity.class)
                           .putExtra("firstName", first_name)
                           .putExtra("lastName",last_name)
                           .putExtra("email",email)
);
...