简体   繁体   中英

Login with extra permission with Facebook SDK 3 for Android

I followed the step of "Create a new Android Project with Facebook Login" section at https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android/3.0/ The login process is fine. Because I would like to use the native Android button for a user to log in, I modify the code slightly by moving the following code into a View.OnClickListener() of a native Android button. The following is the code in the listener:

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()) {                           
            // make request to the /me API
            Request.executeMeRequestAsync(session,new Request.GraphUserCallback() {

                // callback after Graph API
                // response with user object
                @Override
                public void onCompleted(GraphUser user,Response response) {
                    if (user != null) {
                        Toast.makeText(getApplicationContext(), "Hello " + user.getName() +" "+user.getId()+"!", Toast.LENGTH_LONG).show();
                    }
                }
            });
        }
    }
});

The onActivityResult() and AndroidManifest.xml is the same as the tutorial

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}

However, I would like to request get "read_friendlists" when a user logs in successfully. I read the tutorial at https://developers.facebook.com/docs/tutorials/androidsdk/3.0/scrumptious/authenticate/ but it uses Facebook SDK customized button. How can I achieve the same behavior with a native Android button like my code shown above?

I just answered a similar question on another post. My solution allows you to use a native button and request additional read permissions when the user first logs in. Check it out here Ask for more permissions with 3.0 SDK

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM