android - Google sign in,when i close my app it again shows Google Sign in page -
mainactivity
public class mainactivity extends appcompatactivity implements googleapiclient.connectioncallbacks ,googleapiclient.onconnectionfailedlistener,view.onclicklistener { private signinbutton signinbutton; private googleapiclient googleapiclient; public static final string tag="mainactivity"; private static final int rc_sign_in=1; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); googlesigninoptions googlesigninoptions=new googlesigninoptions .builder(googlesigninoptions.default_sign_in).requestemail().build(); googleapiclient=new googleapiclient.builder(this).enableautomanage(this,this) .addapi(auth.google_sign_in_api,googlesigninoptions).build(); signinbutton=(signinbutton)findviewbyid(r.id.mainactivitygooglesigninbutton); signinbutton.setonclicklistener(this); } @override public void onclick(view v) { switch (v.getid()){ case r.id.mainactivitygooglesigninbutton: signin(); break; } } private void signin() { intent intent=auth.googlesigninapi.getsigninintent(googleapiclient); startactivityforresult(intent,rc_sign_in); } @override public void onconnectionfailed(@nonnull connectionresult connectionresult) { toast.maketext(getapplicationcontext(), "login failed", toast.length_short).show(); } @override protected void onactivityresult(int requestcode, int resultcode, intent data) { super.onactivityresult(requestcode, resultcode, data); if(requestcode==rc_sign_in){ googlesigninresult result=auth.googlesigninapi.getsigninresultfromintent(data); handlesigninresult(result); } } private void handlesigninresult(googlesigninresult result) { if(result.issuccess()){ googlesigninaccount account=result.getsigninaccount(); intent intent=new intent(this,contactsactivity.class); startactivity(intent); finish(); } } @override public void onconnected(@nullable bundle bundle) { if (googleapiclient != null && googleapiclient.isconnected()) { intent intent=new intent(this,contactsactivity.class); startactivity(intent); finish(); } } @override public void onconnectionsuspended(int i) { } }
my mainactivity has signin option when open app , sign in takes me contactsactivity.now when close app , start again shows me mainactivity again want display contactsactivity directly.once user has signed in , if closes app want display contactsactivity directly please help.
save login stage in shared preference.
protected void oncreate(bundle savedinstancestate) { . . . sharedpreferences sharedpreferences = getsharedpreferences("user_login_info",mode_private); if(sharedpreferences.getboolean(user_login,false)){ startactivity(new intent(this,contactsactivity.class)); finish(); } } private void handlesigninresult(googlesigninresult result) { if(result.issuccess()){ googlesigninaccount account=result.getsigninaccount(); intent intent=new intent(this,contactsactivity.class); sharedpreferences sharedpreferences = getsharedpreferences("user_login_info",mode_private); editor = sharedpreferences.edit(); editor.putboolean("user_login",true); //saving user info editor.commit(); startactivity(intent); finish(); } }
when user sign out clear shared preference value
sharedpreferences sharedpreferences = getsharedpreferences("user_login_info",mode_private); editor = sharedpreferences.edit(); editor.clear(); editor.commit();
Comments
Post a Comment