android - Facebook LoginManager callback not called -


i using facebook sdk 4.1. have added fb login button fragment , set code below:

@override public view oncreateview(layoutinflater inflater, viewgroup container,                          bundle savedinstancestate) {      view view= inflater.inflate(r.layout.fragment_login, container, false);      loginbutton loginbutton = (loginbutton) view.findviewbyid(r.id.login_button);     loginbutton.setreadpermissions(arrays.aslist("public_profile", "email",             "user_birthday", "user_about_me"));      loginbutton.setfragment(this);       return view; } 

then on have activity this

public class mainactivity extends appcompatactivity {      private callbackmanager callbackmanager;      private accesstokentracker accesstokentracker;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         facebooksdk.sdkinitialize(getapplicationcontext());         setcontentview(r.layout.activity_main);          callbackmanager = callbackmanager.factory.create();          loginmanager.getinstance().registercallback(callbackmanager, new facebookcallback<loginresult>() {             @override             public void onsuccess(loginresult loginresult) {                 log.i("login","success");             }              @override             public void oncancel() {                 log.i("login","cancel");             }              @override             public void onerror(facebookexception e) {                 log.i("login","error");             }         });           accesstokentracker = new accesstokentracker() {             @override             protected void oncurrentaccesstokenchanged(                     accesstoken oldaccesstoken,                     accesstoken currentaccesstoken) {                 // app code                 if(currentaccesstoken.isexpired()){                     loginmanager.getinstance().logout();                 }             }         };          accesstoken accesstoken=accesstoken.getcurrentaccesstoken();          if(accesstoken==null||accesstoken.isexpired()){             loginmanager.getinstance().logout();             getsupportfragmentmanager().begintransaction()                     .replace(r.id.frame_container, new loginfragment())                     .commitallowingstateloss();         }      }      @override     protected void onresume() {         super.onresume();      }       @override     protected void onactivityresult(int requestcode, int resultcode, intent data) {         super.onactivityresult(requestcode, resultcode, data);         callbackmanager.onactivityresult(requestcode, resultcode, data);     }      @override     public boolean oncreateoptionsmenu(menu menu) {         // inflate menu; adds items action bar if present.         getmenuinflater().inflate(r.menu.menu_main, menu);         return true;     }      @override     public boolean onoptionsitemselected(menuitem item) {         // handle action bar item clicks here. action bar         // automatically handle clicks on home/up button, long         // specify parent activity in androidmanifest.xml.         int id = item.getitemid();          //noinspection simplifiableifstatement         if (id == r.id.action_settings) {             return true;         }          return super.onoptionsitemselected(item);     } } 

the proble callbackmanager.onactivityresult(requestcode, resultcode, data); in onactivityresult method called loginmanager.getinstance().registercallback(callbackmanager, new facebookcallback()... never called. why happening?

i removed loginbutton.setfragment(this); line fragment , working


Comments

Popular posts from this blog

javascript - Bootstrap Popover: iOS Safari strange behaviour -

Website Login Issue developed in magento -

Can the constants be defined inside a model file of a framework in PHP? -