IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Accès au GPS avec android 10 (API 29)


Sujet :

Android

  1. #1
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 103
    Points : 1 068
    Points
    1 068
    Par défaut Accès au GPS avec android 10 (API 29)
    Bonjour à toutes et à tous,

    Je progresse, j'ai réussi avoir accès en lecture/écriture à mes fichiers sur le /storage/emulated/0.

    Maintenant, je voudrais accéder au GPS, qui lui aussi, demande de nouvelles permissions.

    J'ai trouvé deux sites qui, je suppose amènent à ce résultat, mais je ne sais pas comment m'y prendre.

    • 1er site : Après avoir téléchargé "Service Google Play", il faut ajouter des services : où et dans quel fichier je mets cela ?
    • 2ème site : Il faut ajouter cette instruction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    implementation 'com.google.android.gms:play-services-location:15.0.1'
    pareil, où et dans quel fichier je mets cela ?

    Merci de votre aide.

    Pierre.

  2. #2
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 103
    Points : 1 068
    Points
    1 068
    Par défaut
    Pas une petite idée de ce qu'il faut faire ?

    Y-a personne qui s'amuse/s'intéresse au GPS ?

    Cordialement.

    Pierre.

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Points : 20 246
    Points
    20 246
    Par défaut
    Je comprend pas ton problème.

    Après avoir téléchargé "Service Google Play", il faut ajouter des services : où et dans quel fichier je mets cela ?
    Comme n'importe quel code dans un fichier que tu créer. Que tu nomme comme ca te chante

    pareil, où et dans quel fichier je mets cela ?
    Comme n'importe quelle autre dépendance , dans le fichier build.gradle de ton app

  4. #4
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 103
    Points : 1 068
    Points
    1 068
    Par défaut
    Bon, finalement, j'ai trouvé la (ou une) solution ; c'est le même genre de gymnastique que pour l'écriture/lecture de fichiers :

    Dans le manifest if faut :

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
        <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>"

    Puis, dans le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    		if (Build.VERSION.SDK_INT >= 23) {
    			if (checkPermission()) {
    			} else {
    				requestPermission(); // Code for permission
    			}
    		}
     
    ...
     
    	private boolean checkPermission() {
    		if (checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED
    		&& checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
    			return true;
    		} else {
    			return false;
    		}
    	}
     
    	private void requestPermission() {
    		if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, android.Manifest.permission.ACCESS_FINE_LOCATION)
    		&& ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, android.Manifest.permission.ACCESS_COARSE_LOCATION)) {
    			Toast.makeText(MainActivity.this, "Access fine and coarse location allows us to use GPS. Please allow this permission in App Settings.", Toast.LENGTH_LONG).show();
    		} else {
    			ActivityCompat.requestPermissions(MainActivity.this, new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_COARSE_LOCATION}, GPS_PERMISSION_REQUEST);
    			ActivityCompat.requestPermissions(MainActivity.this, new String[]{android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_COARSE_LOCATION}, GPS_PERMISSION_REQUEST);
    		}
    	}
     
    	@Override
    	public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
    		switch (requestCode) {
    			case GPS_PERMISSION_REQUEST:
    				if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
    					Log.e("value", "Permission Granted, Now you can use GPS .");
    					} else {
    					Log.e("value", "Permission Denied, You cannot use GPS .");
    					}
    				break;
    		}
    	}
    Je n'ai pas accordée de permission pour "ACCESS_BACKGROUND_LOCATION". Il faudra que je vérifie si c'est nécessaire.

    Bon, il me reste encore la caméra. c'est peut-être encore le même type de gymnastique.

    Cordialement.

    Pierre.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/02/2017, 22h18
  2. [WM18] Accès HyperFile Classic avec Android sur répertoire réseau ?
    Par squalloid dans le forum Windev Mobile
    Réponses: 5
    Dernier message: 11/01/2014, 21h11
  3. Pas d'accès au GPS MC65 avec windev 17
    Par Odm973 dans le forum Windev Mobile
    Réponses: 4
    Dernier message: 13/11/2012, 00h41
  4. Drag and drop pour l'API 8 avec Android Support Library
    Par hariman dans le forum Composants graphiques
    Réponses: 0
    Dernier message: 23/10/2012, 13h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo