2016-11-01 16 views
1

ich von Google-Konto abzumelden wollen, die in meine Anwendung integriert ist. Ich habe diese FunktionGoogleApiClient des enableAutoManage() braucht eine Aktivität Fragment, aber ich habe eine Aktivität

public void logoutFromGooglePlus(Activity a) { 
     GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
       .requestEmail() 
       .requestProfile() 
       .build(); 
     GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(a.getBaseContext()) 
       .enableAutoManage(a /* FragmentActivity */, this /* OnConnectionFailedListener */) 
       .addApi(Auth.GOOGLE_SIGN_IN_API) 
       .build(); 
     mGoogleApiClient.connect(); 
     if (mGoogleApiClient.isConnected()) { 
      Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(
        new ResultCallback<Status>() { 
         @Override 
         public void onResult(Status status) { 


         } 
        }); 
     } else { 
      mGoogleApiClient.connect(); // It can send user to onConnected(), call logout again from there 
     } 
    } 

Wie man sehen kann ich es in einer Aktivität tun müssen, aber hier habe ich ein Problem enableAutoManage einen fragmentActivity als Eingabe benötigt. Aber ich habe eine Aktivität. Kann ich Aktivität als fragmentActivity leicht umsetzen oder gibt es andere Methoden? dank

+0

Ja, Sie können Ihren aktuellen Aktivitätstyp übergeben. – james

+0

@james ABER gibt mir den Fehler, dass es Fragmentierung Aktivität..Ich muss nur meine Aktivität und es wird funktionieren? –

+0

es funktioniert nur, wenn Ihre Aktivität wirklich eine FragmentActivity ist. –

Antwort

1

Ich habe das gleiche Problem wie Sie getroffen, aber es funktioniert, wenn ich von Aktivität zu AppCompatActivity geändert.

Ich hoffe, es hilft.

Verwandte Themen