java - Android - Can't access onSuccess of callback after login with Facebook in fragment -
i have successfully logged in facebook. but, can't access token or user profile onsuccess method of callback. have added callbackmanager.onactivityresult in onactivityresult. can login, can't access token id , user profile
main.java
public class main extends appcompatactivity { private callbackmanager callbackmanager; @override protected void oncreate(bundle savedinstancestate) { facebooksdk.sdkinitialize(getapplicationcontext()); callbackmanager = callbackmanager.factory.create(); } @override protected void onactivityresult(int requestcode, int resultcode, intent data) { super.onactivityresult(requestcode, resultcode, data); callbackmanager.onactivityresult(requestcode, resultcode, data); } }
accountview.java (fragment , error location)
public class accountview extends fragment { private callbackmanager callbackmanager; private facebookcallback<loginresult> callback; @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { view view = inflater.inflate(r.layout.account, container, false); setupview(view); return view; } public void setupview(view view) { callbackmanager = callbackmanager.factory.create(); loginbutton facebookloginbutton = (loginbutton) view.findviewbyid(r.id.widget_facebook_button); callback = new facebookcallback<loginresult>() { //error @override public void onsuccess(loginresult loginresult) { accesstoken accesstoken = loginresult.getaccesstoken(); profile profile = profile.getcurrentprofile(); //error - can't access token , user name log.d("facebook id", accesstoken.getapplicationid()); log.d("profile name", profile.getfirstname()); } @override public void oncancel() { } @override public void onerror(facebookexception e) { } }; facebookloginbutton.setreadpermissions("user_friends"); facebookloginbutton.registercallback(callbackmanager, callback); } }
in fragment override onactivityresult()
did same in activity. :
@override public void onactivityresult(int requestcode, int resultcode, intent data) { super.onactivityresult(requestcode, resultcode, data); callbackmanager.onactivityresult(requestcode, resultcode, data); }
Comments
Post a Comment