android - Why i didn't get Logout Button in Next Activity in Facebook Integration with sdk 4.0.1 -
i login facebook sdk 4.0.1 , goto second activity logout activity click on logout button , redirected again main activity got there again logout button login button change logout facebook sdk. please tell me what's wrong me. please tell me how logout button in next activity
public class mainactivity extends fragmentactivity{ loginbutton loginbutton; facebooksdk mfacebook; private static final string[] permissions = new string[] {"public_profile", "user_photos", "read_stream", "email" }; callbackmanager callbackmanager; sharedpreferences preferences; string username, emailid, userfacebookid, userid; url image_value; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); facebooksdk.sdkinitialize(getapplicationcontext()); callbackmanager = callbackmanager.factory.create(); setcontentview(r.layout.activity_main); system.out.println("inside oncreate "); preferences = getsharedpreferences("mydata", context.mode_world_writeable); loginbutton = (loginbutton) findviewbyid(r.id.login_button); loginbutton.setreadpermissions(permissions); // if using in fragment // loginbutton.setfragment(); // callback registration loginmanager.getinstance().registercallback(callbackmanager, new facebookcallback<loginresult>() { @override public void onsuccess(loginresult loginresult) { sharedpreferences.editor editor = preferences.edit(); editor.putstring("accesstoken", loginresult.getaccesstoken().tostring()); editor.apply(); graphrequest request = graphrequest.newmerequest(loginresult.getaccesstoken(), new graphrequest.graphjsonobjectcallback() { @override public void oncompleted(jsonobject jsonobject, graphresponse graphresponse) { try { system.out.println("inside onsuccess "); userfacebookid = graphresponse.getjsonobject().getstring("id"); username = graphresponse.getjsonobject().getstring("name"); emailid = graphresponse.getjsonobject().getstring("email"); userid = graphresponse.getjsonobject().getstring("link"); try { image_value = new url("http://graph.facebook.com/" + userfacebookid + "/picture?type=large"); } catch (malformedurlexception e) { e.printstacktrace(); } sharedpreferences.editor editor = preferences.edit(); editor.putstring("userfacebookid", userfacebookid); editor.putstring("username", username); editor.putstring("emailid", emailid); editor.putstring("userid", userid); editor.putstring("image_value", image_value.tostring()); editor.apply(); intent intent = new intent(mainactivity.this, logout.class); startactivity(intent); } catch (org.json.jsonexception e) { e.printstacktrace(); } } }); request.executeasync(); } @override public void oncancel() { system.out.println("inside oncancel "); // app code } @override public void onerror(facebookexception exception) { system.out.println("inside error " + exception); // app code } }); } @override public void onbackpressed() { super.onbackpressed(); finish(); } @override protected void onactivityresult(int requestcode, int resultcode, intent data) { super.onactivityresult(requestcode, resultcode, data); callbackmanager.onactivityresult(requestcode, resultcode, data); system.out.println("inside onactivityresult "+resultcode); } }
in second activity logout method,use following line ask loginmanager
logout as
loginmanager.getinstance().logout();
so show "login" text on facebook login button in main activity.
Comments
Post a Comment