2015-06-05 3 views
0

Я использую логин G + для своего приложения. У меня есть возможность отключить аккаунт g +.почему android g + revokeAccessAndDisconnect все еще сохраняет мое разрешение g +

case R.id.action_disconnect: 
      disconnectDialog = new ProgressDialog(this); 
      disconnectDialog.setMessage(getResources().getString(R.string.disconnect_dialog)); 
      disconnectDialog.show(); 
      googleApiClient = buildGoogleApiClient(); 
      googleApiClient.connect(); 

private GoogleApiClient buildGoogleApiClient() { 
    return new GoogleApiClient.Builder(this) 
      .addConnectionCallbacks(this) 
      .addOnConnectionFailedListener(this) 
      .addApi(Plus.API, Plus.PlusOptions.builder().build()) 
      .addScope(new Scope("email")) 
      .build(); 
} 

public void onConnected(Bundle bundle) { 
    Plus.AccountApi.clearDefaultAccount(googleApiClient); 
    Plus.AccountApi.revokeAccessAndDisconnect(googleApiClient).setResultCallback(new ResultCallback<Status>() { 

     @Override 
     public void onResult(Status status) { 
      googleApiClient.disconnect(); 
      if (disconnectDialog != null) 
       disconnectDialog.dismiss(); 
      accManager.Log();; 
     } 

    }); 
} 

accManager.log возвращение приложение для входа экрана.

Plus.AccountApi.clearDefaultAccount(googleApiClient); очищает учетную запись пользователя, и я подтвердил, что мне нужно снова выбрать аккаунт, когда я нажму g + login.

но Plus.AccountApi.revokeAccessAndDisconnect(googleApiClient) не отменяет моего разрешения приложения, как, когда я нажимаю г + вход в систему с той же учетной записи только спросить меня, чтобы выбрать учетную запись, но не спрашивать разрешения.

Когда я войти в систему как новое приложение счета спросить моего разрешения г +

также деинсталляция и reinstall мое приложение по-прежнему держать мою г + разрешение. Ребята встречаются с этой проблемой? Любая помощь будет принята с благодарностью. Я последовал за https://developers.google.com/+/mobile/android/sign-in

ответ

0

Я нашел мой ответ

buildGoogleApiClient должен быть

private GoogleApiClient buildGoogleApiClient() { 
 
     return new GoogleApiClient.Builder(this) 
 
       .addConnectionCallbacks(this) 
 
       .addOnConnectionFailedListener(this) 
 
       .addApi(Plus.API, Plus.PlusOptions.builder().build()) 
 
       .addScope(Plus.SCOPE_PLUS_LOGIN) 
 
       .addScope(new Scope("email")) 
 
       .build(); 
 
    }

Смежные вопросы