Iniciar sesión en Google Drive en Android sin agregar la cuenta de Google al dispositivo

Desarrollar una aplicación Android que necesita permitir el acceso de lectura / escritura a la unidad google del usuario. Además, se supone que se ejecute en dispositivos públicos (lo que significa que muchas personas pueden utilizar el mismo dispositivo para acceder a su cuenta de unidad de google). En tales circunstancias, es inaceptable agregar la cuenta de cada usuario al Administrador de cuentas de Android. Desafortunadamente, todas las guías oficiales, usan la autenticación con la cuenta de google registrada en el dispositivo. Aparecerá la ventana emergente de seleccionar cuentas de Google existentes desde el dispositivo o agregar una nueva.

protected void onStart() { super.onStart(); if (mGoogleApiClient == null) { mGoogleApiClient = new GoogleApiClient.Builder(this) .addApi(Drive.API) .addScope(Drive.SCOPE_FILE) // Optionally, add additional APIs and scopes if required. .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .build(); } mGoogleApiClient.connect(); } /** * Called when {@code mGoogleApiClient} is trying to connect but failed. * Handle {@code result.getResolution()} if there is a resolution * available. */ @Override public void onConnectionFailed(ConnectionResult result) { Log.i(TAG, "GoogleApiClient connection failed: " + result.toString()); if (!result.hasResolution()) { // Show a localized error dialog. GooglePlayServicesUtil.getErrorDialog( result.getErrorCode(), this, 0, new OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { retryConnecting(); } }).show(); return; } // If there is an existing resolution error being displayed or a resolution // activity has started before, do nothing and wait for resolution // progress to be completed. if (mIsInResolution) { return; } mIsInResolution = true; try { result.startResolutionForResult(this, REQUEST_CODE_RESOLUTION); } catch (SendIntentException e) { Log.e(TAG, "Exception while starting resolution activity", e); retryConnecting(); } } 

¿Cuál es la solución? Necesito iniciar sesión en la cuenta de Google (en realidad sólo en la unidad) sin guardar la cuenta en el dispositivo. Sólo necesito iniciar sesión y cerrar sesión cuando termine, sin dejar ninguna información personal en el dispositivo. ¿Cómo puedo hacerlo?

No es posible. Sólo se pueden seleccionar / utilizar las cuentas registradas en el dispositivo (autenticadas por los propios usuarios) para conectarse a GooDrive. Incluso si usted puede utilizar construir como:

 mGoogleApiClient = new GoogleApiClient.Builder(this) .addApi(Drive.API) .addScope(Drive.SCOPE_FILE) // Optionally, add additional APIs and scopes if required. .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .setAccountName([[email protected]]) .build(); 

(Observe por favor el .setAccountName ([[email protected]]) ), el email todavía TIENE QUE SER una de las cuentas registradas del dispositivo. La aplicación no puede dirigirse a ninguna cuenta que el usuario no haya autenticado, sería de seguridad no-no, ¿no?

Buena suerte

  • No se encontró ningún recurso que coincida con el nombre dado '@android: style / Theme.Material.Light.DialogWhenLarge.NoActionBar'
  • Error: No se pudo resolver: com.google.android.gms: play-services-measurement: 9.2.0
  • Cómo implementar PlaceAutoCompleteFragment y PlaceAutoCompleteActivity para obtener los detalles del lugar
  • NullPointerException en los servicios de Google Play al llamar a play () en RemotePlaybackClient
  • Agregar los servicios de Google Play al proyecto Eclipse
  • Listener para Leaderboard en los servicios de juegos de Google
  • ActivityNotFoundException en Google Plus
  • Después de desconectar la aplicación Google Drive Android API todavía devuelve resultados exitosos, pero no carga el archivo
  • Android studio> crear un nuevo proyecto> Actividad de Google Play Services: ¿Qué es esto?
  • Android Google Places autocomplete los límites de la API que no funcionan
  • Inicio de sesión de Google sin perfil de Google+
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.