java - Android - Facebook log in outside of an Activity with your own button -


edit: when click button , call fblogin() app automatically logs in still can't access onsuccess() method , print "success", beacuse i'm not doing activities oncreate method, how do when im using button? (im extending activity):

public class androidplatform extends androidlauncher implements platformspecific{          private activity context;         private callbackmanager callbackmanager;          public androidplatform(activity context){             this.context = context;             callbackmanager = callbackmanager.factory.create();         }          @override         public void fblogin() {          system.out.println("hello android");              string a[] = new string[]{"user_friends"};             loginmanager.getinstance().loginwithreadpermissions(context, arrays.aslist(a)); //log in fb             loginmanager.getinstance().registercallback(callbackmanager, new facebookcallback<loginresult>() {                 @override                 public void onsuccess(loginresult loginresult) {                     system.out.println("success");                 }                  @override                 public void oncancel() {                     system.out.println("cancel");                 }                  @override                 public void onerror(facebookexception e) {                     system.out.println("error");                 }             });         }          @override         protected void onactivityresult(int requestcode, int resultcode, intent data) {             super.onactivityresult(requestcode, resultcode, data);             callbackmanager.onactivityresult(requestcode, resultcode, data);         }      } 

for clarity here class extend (my activity):

public class androidlauncher extends androidapplication {     @override     protected void oncreate (bundle savedinstancestate) {         super.oncreate(savedinstancestate);         facebooksdk.sdkinitialize(getapplicationcontext());         androidapplicationconfiguration config = new androidapplicationconfiguration();         initialize(new mygdxgame(new androidplatform(this)), config);     } } 

if can't access method cannot information on user, problem have in class, can't in activity, there way can make work?

you should overriding onactivityresult when facebook returns control activity, activity able process result using callback manager registered.

@override protected void onactivityresult(int requestcode, int resultcode, intent data) {     super.onactivityresult(requestcode, resultcode, data);     callbackmanager.onactivityresult(requestcode, resultcode, data); } 

see https://developers.facebook.com/docs/facebook-login/android/v2.4#callback_handling example loginbutton.


Comments