Android GooglePlayServicesUtil.getErrorDialog () no muestra el diálogo
Estoy tratando de comprobar la disponibilidad de Google Play Services APK antes de usarlo. Tengo un dispositivo donde el paquete está desactualizado (el registro dice " … los servicios de Google Play están desactualizados, requiere 3225100 pero se encuentran 3136134 ").
El código siguiente se encargará de esta situación y mostrará un diálogo que le pide al usuario que realice la actualización. Por una razón desconocida para mí la línea
GooglePlayServicesUtil.getErrorDialog(resultCode, this, PLAY_SERVICES_RESOLUTION_REQUEST).show();
Devuelve inmediatamente no mostrar ningún diálogo (y no bloquear el subproceso de interfaz de usuario en un evento de interfaz de usuario).
¿Podría por favor arrojar una luz de lo que es posible ir y cómo rectificar el código con el fin de obtener el cuadro de diálogo se muestra?
- Android Play Store Error -505
- Usar puntos finales de Google Cloud autorizados con Google Sign in
- Android AppStateManager :: Fuga interna de datos dentro de un objeto DataBuffer detectado
- java.lang.SecurityException: intentando leer gservices sin permiso
- Obtener referrer después de instalar la aplicación de Android Market
@Override protected void onResume() { super.onResume(); // Check device for Play Services APK. If check succeeds, proceed with // GCM registration. if (checkPlayServices()) { gcm = GoogleCloudMessaging.getInstance(this); regid = getRegistrationId(context); if (regid == null || regid.length() == 0) { registerInBackground(); } else { this.user.setGCMRegistrationId(regid); } } else { Log.i(TAG, "No valid Google Play Services APK found."); } } /** * Check the device to make sure it has the Google Play Services APK. If * it doesn't, display a dialog that allows users to download the APK from * the Google Play Store or enable it in the device's system settings. */ private boolean checkPlayServices() { int resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this); if (resultCode != ConnectionResult.SUCCESS) { if (GooglePlayServicesUtil.isUserRecoverableError(resultCode)) { GooglePlayServicesUtil.getErrorDialog(resultCode, this, PLAY_SERVICES_RESOLUTION_REQUEST).show(); } else { Log.i(TAG, "This device is not supported."); finish(); } return false; } return true; } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case PLAY_SERVICES_RESOLUTION_REQUEST: if (resultCode == RESULT_CANCELED) { Toast.makeText(this, "Google Play Services must be installed.", Toast.LENGTH_SHORT).show(); finish(); } return; } super.onActivityResult(requestCode, resultCode, data); }
- Android Studio 2.2 Google Play servicios de sincronización Error
- No se puede obtener el proveedor com.google.android.gms.measurement.AppMeasurementContentProvider
- ActivityNotFoundException en Google Plus
- GoogleApiClient onConnectionSuspended, ¿debo llamar a mGoogleApiClient.connect () de nuevo?
- Error al obtener el ID del anunciante
- Acceso al lado del servidor con configuración de plataforma única de plataforma cruzada no clara
- AdMob no mostrará el banner hasta que se actualice o se conecte a google plus
- Servicios de localización de cheques android habilitados con servicios de reproducción localización api
Encontré un comportamiento extraño con un código similar al tuyo cuando incluí la biblioteca de servicios de Google Play de forma incorrecta en mi proyecto. Tienes que importar como proyecto el directorio google-play-services_lib
y tienes que incluir google-play-services.jar en tu classpath. La razón es que el proyecto contiene un montón de recursos, incluyendo los necesarios para mostrar el cuadro de diálogo apropiado para getErrorDialog()
.