Facebook-Android SDK: pause execution until response from user/fb is received -


i have chunk of code(below) example facebook provides on how request publish permissions user, problem when chunk of code causes fb dialog pop , ask user "would give app publish permissions?" called app continues execute code below(a asynctask api request in case) problem bc fb doesn't give me boolean or other way check if( user approved permission request && permission granted) {

execute asynctask api request update db

}

maybe im missing or dumb , not horriable implementation on part? isnt pretty standard professional publicly used api should return boolean , string ...something can use create if statement?!?

private void turnonfacebookpublishing() {         session session = session.getactivesession();         if (session != null) {             log.i("sharedprefs fbpublishbool @ start of turnonfbpublish", string.valueof(sharedprefs.isfacebookpublishingon()));             // check publish permissions                 list<string> permissions = session.getpermissions();             log.i("permissions prior if", permissions.tostring());             if (!issubsetof(permissions, permissions)) {                 pendingpublishreauthorization = true;                 session.newpermissionsrequest newpermissionsrequest = new session                         .newpermissionsrequest(this, permissions);                 session.requestnewpublishpermissions(newpermissionsrequest);              }  // asynctask api request api updates record on db determines users facebook publishing preference goes here              }  } 

there 2 ways response.

  1. attach session.callback session object via session.addcallback().
  2. attach session.callback newpermissionsrequest via newpermissionsrequest.setcallback()

then override onactivityresult method in activity or fragment call session.getactivesession().onactivityresult, , callback called.

the reason need callback rather returning data directly because asynchronous operation (it creates intent start activity), won't know result until comes via onactivityresult.


Comments

Popular posts from this blog

c# - Send Image in Json : 400 Bad request -

jquery - Fancybox - apply a function to several elements -

An easy way to program an Android keyboard layout app -