android - Redirect activity after facebook login -


i'm using android facebook sdk (4.01) login app facebook. facebook login mainactivity succeeds , use intent procced next activity. part works.

after in new activity (mainlobby) want able logout facebook , return previous mainactivity, pressing button. reason when press mainlobby closes, has mainlobby activity behind it. have press button twice mainactivity. why that?

main activity class code:

@override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     facebooksdk.sdkinitialize(getapplicationcontext());     setcontentview(r.layout.main_activity);      fbloginbt = (loginbutton) findviewbyid(r.id.fbloginbt);     callback = callbackmanager.factory.create();     fbloginbt.registercallback(callback, new facebookcallback<loginresult>() {         @override         public void onsuccess(loginresult loginresult) {             system.out.println("onsuccess");             intent mainlobby = new intent(mainactivity.this, mainlobby.class);             startactivity(mainlobby);         }          @override         public void oncancel() {             system.out.println("oncancel");         }          @override         public void onerror(facebookexception e) {             system.out.println("onerror");         }     });     fbloginbt.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view v) {             loginmanager.getinstance().loginwithreadpermissions(mainactivity.this, arrays.aslist("public_profile"));         }     });  }   @override protected void onactivityresult(int requestcode, int resultcode, intent data) {     super.onactivityresult(requestcode, resultcode, data);     callback.onactivityresult(requestcode, resultcode, data); } 

main lobby class code:

@override public void onbackpressed() {     if (mdrawerlayout.isdraweropen(gravity.left))         mdrawerlayout.closedrawer(gravity.left);     else if (searchview.isshown() && !isclosed){         searchview.onactionviewcollapsed();  //collapse actionview         searchview.setquery("", false);       //clears query without submit         isclosed = true;     }     else {         loginmanager.getinstance().logout();         super.onbackpressed();     } } 

update:

i works correct on emulator, in android studio. works described above when test on android phone device.

try :

private boolean ismainlobbystarted = false;  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     facebooksdk.sdkinitialize(getapplicationcontext());     setcontentview(r.layout.main_activity);      fbloginbt = (loginbutton) findviewbyid(r.id.fbloginbt);     callback = callbackmanager.factory.create();     fbloginbt.registercallback(callback, new facebookcallback<loginresult>() {         @override         public void onsuccess(loginresult loginresult) {             system.out.println("onsuccess");             intent mainlobby = new intent(mainactivity.this, mainlobby.class);             if(!ismainlobbystarted) {                 startactivity(mainlobby);                 ismainlobbeystarted = true;             }         }          @override         public void oncancel() {             system.out.println("oncancel");         }          @override         public void onerror(facebookexception e) {             system.out.println("onerror");         }     });     fbloginbt.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view v) {             loginmanager.getinstance().loginwithreadpermissions(mainactivity.this, arrays.aslist("public_profile"));         }     });  }   @override protected void onactivityresult(int requestcode, int resultcode, intent data) {     super.onactivityresult(requestcode, resultcode, data);     callback.onactivityresult(requestcode, resultcode, data); } 

Comments

Popular posts from this blog

c++ - No viable overloaded operator for references a map -

java - Custom OutputStreamAppender not run: LOGBACK: No context given for <MYAPPENDER> -

java - Cannot secure connection using TLS -