2015-02-12 5 views
19

Zgodnie z dokumentacją GooglePlayServicesUtil.isGooglePlayServicesAvailable zwrotów SERVICE_VERSION_UPDATE_REQUIRED kiedy „Zainstalowana wersja Google Play jest nieaktualna”.Kiedy usługa GoogleGlayServicesAvailable zwraca usługę SERVICE_VERSION_UPDATE_REQUIRED?

Czy to oznacza, że ​​pojawiła się nowa wersja usługi Google Play w sklepie Play?
Czy to oznacza, że ​​aplikacja wymaga nowszej wersji niż ta, która jest aktualnie zainstalowana w urządzeniu?

Jak wykonuje się tę kontrolę?

Odpowiedz

1

Dokumentacja została zaktualizowana, teraz jest jasne:

Weryfikuje, że Google Play jest zainstalowana i włączona na tym urządzeniu , a zainstalowana na urządzeniu wersja jest nie starszy niż wymagany jeden przez tego klienta.

9

oznacza to, że wersja usługi Google Play zawarta w aplikacji jest wyższa niż wersja aktualnie zainstalowana na urządzeniu użytkownika. użytkownik musi zaktualizować swoje usługi Google Play, aby aplikacja działała poprawnie.

jeśli wynik wróci z tym błędem, możesz po prostu wywołać tę metodę, aby ostrzec użytkownika, że ​​musi zaktualizować, a on je tam zabierze.

GooglePlayServicesUtil.getErrorDialog(result, this, GOOGLE_PLAY_SERVICE_UPDATE_CODE).show(); 

result jest wynikiem sposobu

+0

Dzięki, to jest to, co chciałem wiedzieć, jeśli czek był niezgodny z wersją zawartą w aplikacji lub wersją w sklepie z zabawkami. Czy to jest udokumentowane w dowolnym miejscu? – pomber

+0

tak, jesteś powiązany z dokumentacją w swoim pytaniu. – tyczj

+0

Ale po prostu mówi, że jest "nieaktualny", może to oznaczać, że wersja w urządzeniu nie jest ostatnią wersją. Nie musi to być wersja starsza niż wymagana przez aplikację, aby była "nieaktualna". – pomber

4

isGooglePlayServicesAvailable Czy to oznacza, że ​​pojawiła się nowa wersja usługi Google Play w sklepie Play?

Z site najnowszej aktualizacji był na grudnia 2014

Czy to oznacza, że ​​aplikacja wymaga nowszej wersji niż ta, która jest obecnie zainstalowana w urządzeniu?

Można sprawdzić, czy urządzenie ma większą wersję Google Play Service niż na swojej aplikacji tak:

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 
} 
6

Oto docs dla GooglePlayServicesUtil:http://developer.android.com/reference/com/google/android/gms/common/GooglePlayServicesUtil.html.

Tutaj jest gdzie oni rozmawiają o "zapewnienie" użytkownik ma zainstalowany:https://developer.android.com/google/play-services/setup.html#ensure

To jest wzięte z kodem Dziennik Iosched 2014 źródłowym tutaj: 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; 
    } 
} 

Oto jak go używać w 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); 
} 
0

Należy pamiętać, że wszystkie aktualne odpowiedzi odnoszą się do usługi GooglePlayServicesUtil, która jest już nieaktualna. Zobacz GooglePlayServicesUtil vs GoogleApiAvailability, aby uzyskać szczegółowe informacje na temat sprawdzania zgodności wersji Usług Google Play.