android - samsung - ¿Cuándo esGooglePlayServicesAvailable devolver SERVICE_VERSION_UPDATE_REQUIRED?
instalar google play services (5)
De acuerdo con la documentación, GooglePlayServicesUtil.isGooglePlayServicesAvailable devuelve SERVICE_VERSION_UPDATE_REQUIRED cuando "La versión instalada de los servicios de Google Play no está actualizada".
¿Esto significa que hay una nueva versión de los servicios de Google Play en Play Store?
¿Esto significa que la aplicación necesita una versión más nueva que la que está instalada actualmente en el dispositivo?
¿Cómo se hace este control?
¿Esto significa que hay una nueva versión de los servicios de Google Play en Play Store?
Desde la última actualización del site fue en diciembre de 2014.
¿Esto significa que la aplicación necesita una versión más nueva que la que está instalada actualmente en el dispositivo?
Puede verificar si el dispositivo tiene la versión más alta de Google Play Service
que la de su aplicación, por lo que:
int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable( getApplicationContext() );
if(status == ConnectionResult.SUCCESS) {
//OK
}else if(status == ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED){
Toast.makeText(context,"please udpate your google play service",Toast.LENGTH_SHORT).show
}
La documentación fue actualizada, ahora está claro:
Verifica que los servicios de Google Play estén instalados y habilitados en este dispositivo, y que la versión instalada en este dispositivo no sea anterior a la requerida por este cliente .
Tenga en cuenta que todas las respuestas actuales hacen referencia a GooglePlayServicesUtil, que ahora está en desuso. Consulte GooglePlayServicesUtil vs GoogleApiA Availability para obtener detalles sobre cómo realizar la verificación de compatibilidad de la versión de Google Play Services.
esto significa que la versión del servicio de Google Play que incluyó en su aplicación es más alta que la que está instalada actualmente en el dispositivo del usuario. el usuario debe actualizar sus servicios de Google Play para que su aplicación funcione correctamente.
Si el resultado regresa con ese error, simplemente puede llamar a este método para alertar al usuario que necesitan actualizar y los llevará allí.
GooglePlayServicesUtil.getErrorDialog(result, this, GOOGLE_PLAY_SERVICE_UPDATE_CODE).show();
result
es el resultado del método isGooglePlayServicesAvailable
Aquí están los documentos para GooglePlayServicesUtil
: http://developer.android.com/reference/com/google/android/gms/common/GooglePlayServicesUtil.html .
Aquí es donde se habla de "garantizar" que el usuario lo tiene instalado: https://developer.android.com/google/play-services/setup.html#ensure
Esto se ha tomado del código fuente oficial de Iosched 2014 aquí: https://github.com/google/iosched/blob/0a90bf8e6b90e9226f8c15b34eb7b1e4bf6d632e/android/src/main/java/com/google/samples/apps/iosched/util/PlayServicesUtils.java
public class PlayServicesUtils {
public static boolean checkGooglePlaySevices(final Activity activity) {
final int googlePlayServicesCheck = GooglePlayServicesUtil.isGooglePlayServicesAvailable(activity);
switch (googlePlayServicesCheck) {
case ConnectionResult.SUCCESS:
return true;
case ConnectionResult.SERVICE_DISABLED:
case ConnectionResult.SERVICE_INVALID:
case ConnectionResult.SERVICE_MISSING:
case ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED:
Dialog dialog = GooglePlayServicesUtil.getErrorDialog(googlePlayServicesCheck, activity, 0);
dialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialogInterface) {
activity.finish();
}
});
dialog.show();
}
return false;
}
}
Aquí está cómo usarlo en una Activity
: https://github.com/google/iosched/blob/cf1f30b4c752f275518384a9b71404ee501fc473/android/src/main/java/com/google/samples/apps/iosched/ui/BaseActivity.java
@Override
protected void onResume() {
super.onResume();
// Verifies the proper version of Google Play Services exists on the device.
PlayServicesUtils.checkGooglePlaySevices(this);
}