Google+ sign-in button on Android doesn't do anything when clicked -
i trying implement google+ login in android app. have followed google+ api tutorials. however, when click sign-in button, nothing happens, no dialog or prompt appears login. logcat not showing errors either. cannot seem understand why not working when have followed google+ api docs.
here code:
package com.chromiumapps.fost; import android.content.intent; import android.content.intentsender.sendintentexception; import android.content.sharedpreferences; import android.os.bundle; import android.support.v4.app.fragmentactivity; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.toast; import static android.view.view.*; import com.google.android.gms.common.connectionresult; import com.google.android.gms.common.googleplayservicesclient.connectioncallbacks; import com.google.android.gms.common.googleplayservicesclient.onconnectionfailedlistener; import com.google.android.gms.common.api.googleapiclient; import com.google.android.gms.plus.plus; public class fostactivity extends fragmentactivity implements googleapiclient.connectioncallbacks, googleapiclient.onconnectionfailedlistener, onclicklistener { /* called when activity first created. */ /* * public boolean facebook = false; public boolean twitter = false; public * boolean googleplus = false; public boolean blogger = false; */ private mainfragment mainfragment; sharedpreferences pref; private static final int rc_sign_in=0; private googleapiclient mgoogleapiclient; private boolean mintentinprogress; private boolean msigninclicked; private connectionresult mconnectionresult; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); pref = getpreferences(0); sharedpreferences.editor edit = pref.edit(); edit.putstring("consumer_key", consumer_key); edit.putstring("consumer_secret", consumer_secret); edit.commit(); if (savedinstancestate == null) { // add fragment on initial activity setup mainfragment = new mainfragment(); getsupportfragmentmanager().begintransaction() .add(android.r.id.content, mainfragment).commit(); //s = new sharebaractivity(); //getsupportfragmentmanager().begintransaction() //.add(android.r.id.content, s).commit(); } else { // or set fragment restored state info mainfragment = (mainfragment) getsupportfragmentmanager().findfragmentbyid(android.r.id.content); //linkedinfragment = (linkedin_fragment) getsupportfragmentmanager().findfragmentbyid(android.r.id.content); } setcontentview(r.layout.main); findviewbyid(r.id.sign_in_button).setonclicklistener(this); findviewbyid(r.id.sign_out_button).setonclicklistener(this); mgoogleapiclient = new googleapiclient.builder(this) .addconnectioncallbacks(this) .addonconnectionfailedlistener(this) .addapi(plus.api, new plus.plusoptions.builder().build()) .addscope(plus.scope_plus_login) .build(); } protected void onstart(){ super.onstart(); mgoogleapiclient.connect(); } protected void onstop(){ super.onstop(); if (mgoogleapiclient.isconnected()){ mgoogleapiclient.disconnect(); } } protected void onacitivityresult(int requestcode, int responsecode, intent intent){ if (requestcode==rc_sign_in){ if (responsecode != result_ok) { msigninclicked = false; } mintentinprogress = false; if (!mgoogleapiclient.isconnecting()) { mgoogleapiclient.connect(); } } } @override public void onconnected(bundle arg0) { // todo auto-generated method stub msigninclicked = false; } @override public void onconnectionsuspended(int arg0) { // todo auto-generated method stub mgoogleapiclient.connect(); } public void onconnectionfailed(connectionresult result) { // todo auto-generated method stub if (!mintentinprogress) { // store connectionresult can use later when user clicks // 'sign-in'. mconnectionresult = result; if (msigninclicked) { // user has clicked 'sign-in' attempt resolve // errors until user signed in, or cancel. resolvesigninerror(); } } } protected void resolvesigninerror(){ if(mconnectionresult.hasresolution()){ try { mintentinprogress = true; startintentsenderforresult(mconnectionresult.getresolution().getintentsender(), rc_sign_in, null, 0, 0, 0); } catch (sendintentexception e) { // intent canceled before sent. return default // state , attempt connect updated connectionresult. mintentinprogress = false; mgoogleapiclient.connect(); } } } @override public void onclick(view v) { // todo auto-generated method stub if(v.getid()==r.id.sign_in_button && !mgoogleapiclient.isconnecting()){ msigninclicked=true; resolvesigninerror(); } if(v.getid()==r.id.sign_out_button){ if(mgoogleapiclient.isconnected()){ plus.accountapi.cleardefaultaccount(mgoogleapiclient); mgoogleapiclient.disconnect(); mgoogleapiclient.connect(); } } } }
try @ mgoogleapiclient
mgoogleapiclient = new googleapiclient.builder(this) .addapiifavailable(drive.api) .addconnectioncallbacks(this) .addonconnectionfailedlistener(this).addapi(plus.api, plus.plusoptions.builder().build()) .addscope(plus.scope_plus_login).build();
Comments
Post a Comment