Skip to content

Instantly share code, notes, and snippets.

@yujuwon
Created June 13, 2016 01:55
Show Gist options
  • Select an option

  • Save yujuwon/f86e1e764c0447f7f4f8c4176595327c to your computer and use it in GitHub Desktop.

Select an option

Save yujuwon/f86e1e764c0447f7f4f8c4176595327c to your computer and use it in GitHub Desktop.
private CallbackManager mCallbackManager;
private AccessToken mToken = null;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
FacebokSdk.sdkInitialize(getApplicationContext());
mCallbackManager = CallbackManager.Factory.create();
mToken = AccessToken.getCurrentAccessToken();
if(mToken == null){
LoginButton loginButton = (LoginButton)findViewById(R.id.login_button);
if(loginButton != null) {
loginButton.setReadPermissions("public_profile", "user_friends", "email");
loginButton.registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(final LoginResult loginResult) {
GraphRequest request;
mToken = loginResult.getAccessToken();
request = GraphRequest.newMeRequest(mToken, jsonObjectCallback);
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email,gender,birthday,cover");
request.setParameters(parameters);
request.executeAsync();
}
@Override
public void onCancel() {}
@Override
public void onError(FacebookException error) {}
});
}
}else{
GraphRequest request;
request = GraphRequest.newMeRequest(mToken, jsonObjectCallback);
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email,gender,birthday,cover");
request.setParameters(parameters);
request.executeAsync();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
mCallbackManager.onActivityResult(requestCode, resultCode, data);
}
GraphRequest.GraphJSONObjectCallback jsonObjectCallback = new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(final JSONObject user, GraphResponse response) {
if (response.getError() == null) {
setResult(RESULT_OK);
}
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment