Facebook login in Android fires callback before permissions popup -


when i'm using facebook login in android app, callback called before permissions popup shown. in code, expected behaviour should be:

  1. user opens app
  2. user clicks "sign in" button
  3. fb permissions dialog pops up
  4. user accepts fb permissions
  5. a "hi there!" toast message shown

however, actual flow is:

  1. user opens app
  2. user clicks "sign in" button
  3. a "hi there!" toast message shown
  4. fb permissions dialog pops up

i used code this answer , added button perform login when user clicks on it, instead of on activity creation:

public class mainactivity extends activity implements statuscallback {   @override   protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main);   }    public void signin(view view) {     openrequest open = new openrequest(this);     open.setloginbehavior(sessionloginbehavior.suppress_sso);     open.setpermissions(arrays.aslist(new string[] { "email", "user_hometown" }));     open.setcallback(this);     session s = new session(this);     s.openforread(open);   }    @override   public void call(session session, sessionstate state, exception exception) {     charsequence text = "hi there!";     int duration = toast.length_short;     toast toast = toast.maketext(getapplicationcontext(), text, duration);     toast.show();   }    @override   protected void onactivityresult(int requestcode, int resultcode, intent data) {     super.onactivityresult(requestcode, resultcode, data);     if (session.getactivesession() != null)       session.getactivesession().onactivityresult(this, requestcode,           resultcode, data);   } } 

thanks

you have check when comes correct sessionstate value you.

public void call(session session, sessionstate state, exception exception) {     if (state.isopened()) {         if (exception == null) {             //success         } else if (state == sessionstate.closed_login_failed) {             //login fail         } else if (state.isclosed()) {             //logged out...         }     } } 

Comments

Popular posts from this blog

.htaccess - First slash is removed after domain when entering a webpage in the browser -

Automatically create pages in phpfox -

c# - Farseer ContactListener is not working -