Comment faire un style de l'erreur Google Play Services sur Android

Lors de l'utilisation de la nouvelle API Google Maps V2 sur Android, l'utilisateur verra un message d'erreur si son appareil n'a pas installé l'application Google Play (Services). Je me demande si il est possible d'annuler le style de ce message d'erreur pour le rendre moins dérangé et adapter le style de l'application de manière plus appropriée.

C'est à quoi ressemble l'erreur:

  • Dois-je appeler HttpURLConnection.disconnect après avoir terminé l'utiliser
  • Comment lire un fichier vidéo dans Android?
  • Composants Android pour afficher un graphique (nœuds et arêtes, en 2D)?
  • Analyseur XML pour la mise en page dynamique (skins chargés dynamiquement)
  • Comment introduire l'application à l'avant lorsque l'icône de notification est cliquée (à partir du Service)?
  • Comment appeler la fonction Native Iphone / Android de Javascript?
  • Cette application ne fonctionnera que si vous mettez à jour les services Google Play.

  • Comment puis-je rendre tamil unicode dans Android
  • Plein écran dans WindowManager
  • Combinez Realm.io et Firebase
  • La fonction de rappel Javascript passe sur Android
  • Comment prendre une capture d'écran de l'activité en cours, puis la partager?
  • La meilleure façon d'inclure le code de débogage?
  • 2 Solutions collect form web for “Comment faire un style de l'erreur Google Play Services sur Android”

    Après avoir fait des recherches, j'ai déterminé que la meilleure solution était de vérifier manuellement la présence de la bibliothèque Google Play Services et d'afficher une boîte de dialogue d'erreur personnalisée ou une mise en page d'erreur. Il existe des méthodes d'utilité dans GooglePlayServicesUtil qui rendent cela plutôt simple.

     public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); int statusCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this); if (statusCode == ConnectionResult.SUCCESS) { // Continue with your regular activity/fragment configuration. } else { // Hide the map fragment so the default error message is not // visible. findViewById(R.id.map).setVisibility(View.GONE); // Show a custom error message showErrorMessage(statusCode); } } private void showErrorMessage(final int statusCode) { // I've outlined two solutions below. Pick which one works best for // you and remove the if-block. boolean showDialog = false; if (showDialog) { // This is the easiest method and simply displays a pre-configured // error dialog GooglePlayServicesUtil.getErrorDialog(statusCode, this, 0).show(); } else { // Show a completely custom layout findViewById(R.id.error).setVisibility(View.VISIBLE); // Wire up the button to install the missing library Button errorButton = (Button) findViewById(R.id.error_button); errorButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { try { // Perform the correct action for the given status // code! GooglePlayServicesUtil.getErrorPendingIntent( statusCode, getActivity(), 0).send(); } catch (CanceledException e1) { // Pass } } }); } } 
    • GooglePlayServiceUtil est obsolète. Regardez GoogleApiAvailability pour les dernières interfaces.
    • Préférer l'utilisation du DialogFragment fourni DialogFragment lieu de l'erreur AlertDialog directement, de sorte qu'il puisse être géré correctement par l'activité.

       public static boolean checkPlayServices(FragmentActivity activity) { GoogleApiAvailability googleApiAvailability = GoogleApiAvailability.getInstance(); int resultCode = googleApiAvailability.isGooglePlayServicesAvailable(activity); if (resultCode != ConnectionResult.SUCCESS) { if (googleApiAvailability.isUserResolvableError(resultCode)) { // "user resolvable" means Google Play is available to download the last version of Play Services APK // This will open Google dialog fragment displaying the proper message depending on "resultCode" googleApiAvailability.showErrorDialogFragment(activity, resultCode, PLAY_SERVICES_RESOLUTION_REQUEST); } else { // Should not happen. This device does not support Play Services. // Let's show an ultimate warning. MyCustomPlayServicesErrorDialogFragment playServicesErrorDialog = new MyCustomPlayServicesErrorDialogFragment(); playServicesErrorDialog.show(activity.getFragmentManager(), TAG); } return false; } return true; } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.