Error al iniciar sesión en la cuenta especificada. Elija una cuenta diferente

¿Hay alguien que me ayude a resolver este problema por favor. Desde las últimas 16 horas estoy atrapado en un punto. Permítanme explicar mi problema primero: estaba tratando de obtener conexión con la unidad de google y recoger todos los archivos en una actividad de lista. Lo he hecho con éxito usando el tutorial de Google y los pasos de la solución. Para su referencia más unificada, permítanme informarles que he seguido principalmente el siguiente enlace: https://github.com/googledrive/android-demos usando la clase "BaseDemoActivity" y "PickFileWithOpenerActivity" la aplicación está funcionando muy bien en el entorno de desarrollo. Después de que todo esté trabajando bien había hecho la aplicación un archivo apk. Y cuando estaba tratando de ejecutar que apk en otro dispositivo o el mismo dispositivo de su proporcionarme el mensaje, "Error al iniciar sesión en la cuenta especificada. Por favor, elija una cuenta diferente." En algún momento es proporcionar mensaje diferente como: "problema desconocido con Google Play Services". Realmente no entiendo por qué estoy teniendo este tipo de mensajes, donde he cometido mi error. Pero créanme, en el entorno de desarrollo todo está bien. Aquí les estoy proporcionando mis códigos completos, para su mejor comprensión.

Lib

import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.GooglePlayServicesUtil; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.drive.Drive; 

BaseDemoActivity.class

 public abstract class BaseDemoActivity extends Activity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener { private static final String TAG = "BaseDriveActivity"; /** * DriveId of an existing folder to be used as a parent folder in * folder operations samples. */ public static final String EXISTING_FOLDER_ID = "0B2EEtIjPUdX6MERsWlYxN3J6RU0"; /** * DriveId of an existing file to be used in file operation samples.. */ public static final String EXISTING_FILE_ID = "0ByfSjdPVs9MZTHBmMVdSeWxaNTg"; /** * Extra for account name. */ protected static final String EXTRA_ACCOUNT_NAME = "account_name"; /** * Request code for auto Google Play Services error resolution. */ protected static final int REQUEST_CODE_RESOLUTION = 1; /** * Next available request code. */ protected static final int NEXT_AVAILABLE_REQUEST_CODE = 2; /** * Google API client. */ private GoogleApiClient mGoogleApiClient; /** * Called when activity gets visible. A connection to Drive services need to * be initiated as soon as the activity is visible. Registers * {@code ConnectionCallbacks} and {@code OnConnectionFailedListener} on the * activities itself. */ @Override protected void onResume() { super.onResume(); if (mGoogleApiClient == null) { mGoogleApiClient = new GoogleApiClient.Builder(this) .addApi(Drive.API) .addScope(Drive.SCOPE_FILE) .addScope(Drive.SCOPE_APPFOLDER) // required for App Folder sample .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .build(); } mGoogleApiClient.connect(); } /** * Handles resolution callbacks. */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_CODE_RESOLUTION && resultCode == RESULT_OK) { mGoogleApiClient.connect(); } } /** * Called when activity gets invisible. Connection to Drive service needs to * be disconnected as soon as an activity is invisible. */ @Override protected void onPause() { if (mGoogleApiClient != null) { mGoogleApiClient.disconnect(); } super.onPause(); } /** * Called when {@code mGoogleApiClient} is connected. */ @Override public void onConnected(Bundle connectionHint) { Log.i(TAG, "GoogleApiClient connected"); } /** * Called when {@code mGoogleApiClient} is disconnected. */ @Override public void onConnectionSuspended(int cause) { Log.i(TAG, "GoogleApiClient connection suspended"); } /** * Called when {@code mGoogleApiClient} is trying to connect but failed. * Handle {@code result.getResolution()} if there is a resolution is * available. */ @Override public void onConnectionFailed(ConnectionResult result) { Log.i(TAG, "GoogleApiClient connection failed: " + result.toString()); if (!result.hasResolution()) { // show the localized error dialog. GooglePlayServicesUtil.getErrorDialog(result.getErrorCode(), this, 0).show(); return; } try { result.startResolutionForResult(this, REQUEST_CODE_RESOLUTION); } catch (SendIntentException e) { Log.e(TAG, "Exception while starting resolution activity", e); } } /** * Shows a toast message. */ public void showMessage(String message) { Toast.makeText(this, message, Toast.LENGTH_LONG).show(); } /** * Getter for the {@code GoogleApiClient}. */ public GoogleApiClient getGoogleApiClient() { return mGoogleApiClient; } } 

PickFileWithOpenerActivity.class

 public class PickFileWithOpenerActivity extends BaseDemoActivity { private static final String TAG = "PickFileWithOpenerActivity"; private static final int REQUEST_CODE_OPENER = 1; @Override public void onConnected(Bundle connectionHint) { super.onConnected(connectionHint); IntentSender intentSender = Drive.DriveApi .newOpenFileActivityBuilder() .setMimeType(new String[] { "text/plain", "text/html" }) .build(getGoogleApiClient()); try { startIntentSenderForResult( intentSender, REQUEST_CODE_OPENER, null, 0, 0, 0); } catch (SendIntentException e) { Log.w(TAG, "Unable to send intent", e); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(requestCode == 1 && data != null){ switch (requestCode) { case REQUEST_CODE_OPENER: if (resultCode == RESULT_OK) { DriveId driveId = (DriveId) data.getParcelableExtra( OpenFileActivityBuilder.EXTRA_RESPONSE_DRIVE_ID); showMessage("Selected file's ID: " + driveId); } finish(); break; default: super.onActivityResult(requestCode, resultCode, data); } } } } 

Manifest.xml

  <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.googledrivetestandroidapplication" > <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <activity android:name="com.example.googledrivetestandroidapplication.HomeActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".PickFileWithOpenerActivity" /> </application> 

Nota: he mantenido la [Consola de desarrolladores de Google] [2], el nombre del proyecto con mi nombre de proyecto desarrollado y el nombre del paquete como,

 package="com.example.googledrivetestandroidapplication" 

En manifest.xml, en la información adicional que he utilizado el build.gradle.

 compile 'com.android.support:appcompat-v7:22.2.0' compile 'com.google.android.gms:play-services:7.5.0' 

I también trató de manera diferente, como; Referencia de Silvana L. Desafortunadamente no funciona para mí. Ahora no sé, lo que se supone que debo hacer.

Borra la caché de Servicios de Google Play (Configuración> Administrador de aplicaciones> Servicios de Google Play> Borrar caché). Desactiva / enciende Google Play Services (Configuración> Administrador de aplicaciones> Servicios de Google Play> Desactivar). Después de esto, es posible que deba volver a actualizar a través de Google Play. Inicie sesión en su cuenta de Google en su teléfono.

Espero que entienda su problema.

Siga el paso para registrar la aplicación en la consola de google api: –

  1. Crear nuevo proyecto en Api Console GoogleApiConsole
  2. En API & autenticación ficha —> Credenciales —> Crear nuevo ID de cliente
  3. Selecciona Aplicación instalada y Selecciona Android
  4. Registre su aplicación ( com.example.googledrivetestandroidapplication ) aquí con su huella digital de certificado de firma (SHA1)

Ha creado credenciales utilizando la clave android, necesita crear credenciales utilizando oauth 2.0.

Vaya a GoogleApiConsole, abra su proyecto y luego vaya a

API & authentic tab —> Credenciales —> Agregar credenciales —> Oauth 2.0 Client ID

Introduzca aquí la descripción de la imagen Luego ingrese la información de la aplicación

  • Carga reanudable en Drive Rest API V3
  • Cómo subir una copia de seguridad del teléfono Llamar / sms / contactos a Google Cloud
  • Drive API manifiesto e integración con Drive App
  • Listando archivos y obteniendo información de una carpeta pública desde la unidad de google
  • Selector de Google Drive (JavaScript) no móvil
  • Excepción de SDK de Google Drive
  • ¿GoogleAccountCredential proporciona token de actualización?
  • API de Google Drive para Android (GDAA) getResourceId () devuelve null (problema de temporización)
  • Google Drive + ACTION_GET_CONTENT
  • Google Drive OCR Android
  • Carpeta de datos de aplicaciones de Google Drive para Android que no incluye todos los niños
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.