Cannot login Facebook with Android Facebook SDK 4.3 -
in android app use facebook sdk 4.3. try login facebook using loginbutton. here code
@override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); facebooksdk.sdkinitialize(this.getapplicationcontext()); callbackmanager = callbackmanager.factory.create(); setcontentview(r.layout.activity_main); loginbutton btnloginfb = (loginbutton) findviewbyid(r.id.login_button); btnloginfb.setreadpermissions("email", "user_likes", "user_friends"); btnloginfb.registercallback(callbackmanager, new facebookcallback<loginresult>() { @override public void onsuccess(loginresult result) { log.i("test","success"); } @override public void oncancel() { log.i("test","cancel"); } @override public void onerror(facebookexception error) { } }); } @override protected void onactivityresult(int requestcode, int resultcode, intent data) { super.onactivityresult(requestcode, resultcode, data); callbackmanager.onactivityresult(requestcode, resultcode, data); } when app runs, after click button login, displays facebook activity, requires email , password login. callback doesn't run onsucess. runs oncancel. don't understand wrong?
just use code login button.
loginbutton = (loginbutton) findviewbyid(r.id.login_button); list < string > permissionneeds = arrays.aslist("user_photos", "email", "user_birthday", "public_profile", "accesstoken"); loginbutton.registercallback(callbackmanager, new facebookcallback < loginresult > () {@override public void onsuccess(loginresult loginresult) { system.out.println("onsuccess"); string accesstoken = loginresult.getaccesstoken() .gettoken(); log.i("accesstoken", accesstoken); graphrequest request = graphrequest.newmerequest( loginresult.getaccesstoken(), new graphrequest.graphjsonobjectcallback() {@override public void oncompleted(jsonobject object, graphresponse response) { log.i("loginactivity", response.tostring()); try { id = object.getstring("id"); try { url profile_pic = new url( "http://graph.facebook.com/" + id + "/picture?type=large"); log.i("profile_pic", profile_pic + ""); } catch (malformedurlexception e) { e.printstacktrace(); } name = object.getstring("name"); email = object.getstring("email"); gender = object.getstring("gender"); birthday = object.getstring("birthday"); } catch (jsonexception e) { e.printstacktrace(); } } }); bundle parameters = new bundle(); parameters.putstring("fields", "id,name,email,gender, birthday"); request.setparameters(parameters); request.executeasync(); } @override public void oncancel() { system.out.println("oncancel"); } @override public void onerror(facebookexception exception) { system.out.println("onerror"); log.v("loginactivity", exception.getcause().tostring()); } }); for more information @ my answer here
Comments
Post a Comment