Partage
  • Partager sur Facebook
  • Partager sur Twitter

Android [Java] Attendre le résultat du GPS

    16 mai 2023 à 5:30:31

    Bonjour à tous,

    Pour l'un de mes projets, j'ai besoin que les utilisateurs puissent donner leurs coordonnées GPS. Je n'es pas besoin de mettre à jour constamment le GPS, je dois l’obtenir uniquement lorsque l'utilisateur appuie sur un bouton qui appelle la fonction getPosition() et utilise le textes pour l'affiché a l'écran.

    Pour ce faire, j'active le GPS avec une class qui contient ce code.

        public String getPosition()
        {
    
            if (ContextCompat.checkSelfPermission(context, android.Manifest.permission.ACCESS_COARSE_LOCATION)
                    == PackageManager.PERMISSION_GRANTED) {
                LocationListener androidLocationListener = new LocationListener() {
                    public void onLocationChanged(Location loc) {
                        position = "" + loc.getLongitude() + "-" + loc.getLatitude();
    
                    }
    
                    public void onStatusChanged(String provider, int status, Bundle extras) {}
    
                    public void onProviderEnabled(String provider) {}
    
                    public void onProviderDisabled(String provider) {}
    
                };
    
                androidLocationManager.requestSingleUpdate(LocationManager.GPS_PROVIDER,
                        androidLocationListener,
                        null);
                return position;
            }
            else
            {
                return "PERMISSION REFUSÉ";
            }
    
    
        }

    Voici comment je dois appeler la fonction: (version simplifier)

     pA = new positionActuel(this);
    texteALecran = pA.getPosition();


    Le problème, c'est que le retour du String se fait avant que la fonction change le String "position". Je me retrouve donc avec un String vide, ou qui contient la tentative précédente.

    Avez-vous des pistes de solutions ou des solutions à me conseiller?

    Merci et bonne journée.

    • Partager sur Facebook
    • Partager sur Twitter

    Android [Java] Attendre le résultat du GPS

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown