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
Post a Comment