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?
- ¿Qué significa RC_SIGN_IN en googleplus login?
- La aplicación no está configurada correctamente para utilizar los servicios de juego de Google
- Biblioteca de códigos de barras de Google Vision no encontrada
- No puede obtener la identificación de publicidad en android
- Ubicación de Google Play Services no disponible después de reiniciar la ubicación
@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); }
- Google-services.json para diferentes productFlavors
- Firebase NullPointerException in Play Services 9.2.1
- ¿Cómo incluir un paquete adicional al probar emisiones de Android?
- Google Play Services hace que el apk sea demasiado grande
- Android Google play service, Se ha producido un error fatal en el desarrollador. Compruebe los registros para obtener más información
- MapFragment en ScrollView
- LocationRequest desplazamiento más pequeño y precisión
- Error: (50, 28) Ningún recurso encontrado que coincida con el nombre dado (en 'valor' con el valor '@ string / google_maps_key')
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()
.