DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions spécifiques Mobile / Fonctions Permission
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Demande à l'utilisateur d'accorder une permission à l'application. Cette fonction donne la possibilité d'afficher un message informatif à l'utilisateur avant d'afficher la demande de permission.
Exemple
// Demande la permission pour autoriser la localisation précise de l'appareil
// avant d'appeler la fonction GPSRécupèrePosition
Perm est une Permission = PermissionListe("android.permission.ACCESS_FINE_LOCATION")
// Si la permission n'a pas déjà été accordée
SI PAS Perm.Accordé ALORS
// Message informatif
// Affiche un message à l'utilisateur pour lui indiquer
// pourquoi l'application a besoin de cette permission
Info("Cette permission est nécessaire pour xxxx")
// Demande la permission
PermissionDemande(Perm, ProcDemandePermission)
PROCÉDURE INTERNE ProcDemandePermission(Perm est une Permission)
SI Perm.Accordé ALORS
MaPosition est une géoPosition = GPSRécupèrePosition()
...
FIN
FIN
FIN
Syntaxe

Demander une seule permission Masquer les détails

PermissionDemande(<Permission> , <Procédure WLangage>)
<Permission> : Chaîne de caractères ou variable de type Permission
Nom de la permission à demander. Ce paramètre peut correspondre :
  • à une chaîne de caractères de la forme : android.permission.<NOM>. La liste des permissions du SDK Android est disponible à l'adresse suivante : https://developer.android.com/reference/android/Manifest.permission.
  • à une variable de type Permission.
  • à une des constantes suivantes :
    permCaméraPermission d'accéder aux caméras de l'appareil.
    permEcritureContactPermission de modification des contacts.
    permEcritureStockageExternePermission d'écriture sur le stockage externe.
    permEnregistrementAudio Permission d'enregistrement du flux audio.
    permEnvoiSMSPermission d'envoi de SMS.
    permGestionStockageExternePermission de gestion du stockage externe. Si cette permission est demandée, une fenêtre système s'affiche permettant à l'utilisateur de donner le droit à l'application d'accéder à tous les fichiers sur le stockage externe, sans restriction.
    permLectureContactPermission d'accès en lecture aux contacts.
    permLectureEtatTéléphonePermission d'accès aux informations du téléphone.
    permLocalisationPermission d'accès à la position de l'appareil.
    permLocalisationEnArrièrePlan Permission d'accès à la position de l'appareil lorsque l'application est en arrière-plan.
    Attention : Cette permission doit être demandée seule et après l'acceptation des permissions correspondant aux constantes permLocalisation ou permLocalisationPrécise.
    permLocalisationPrécisePermission d'accès à la position de l'appareil avec une précision élevée.
<Procédure WLangage> : Nom de procédure
Nom de la procédure WLangage (également nommée "callback") appelée lors de la validation de la demande de permission. Cette procédure est de la forme :
PROCEDURE <Nom de la procédure>(<Résultat>)
où <Résultat> est une variable de type Permission. La valeur de la propriété Accordé a été renseignée avec le résultat de la demande de permission.

Demander simultanément plusieurs permissions Masquer les détails

PermissionDemande(<Permissions> , <Procédure WLangage>)
<Permissions> : Tableau
Permissions à demander. Ce paramètre peut correspondre :
  • à un tableau de chaînes de caractères de la forme : android.permission.<NOM>
  • à un tableau de variables de type Permission.
<Procédure WLangage> : Nom de procédure
Nom de la procédure WLangage (également nommée "callback") appelée lors de la validation de la demande de permission. Cette procédure est de la forme :
PROCEDURE <Nom de la procédure>(<Résultat>)
où <Résultat> est un tableau de variables de type Permission. Pour chacune des permissions, la valeur de la propriété Accordé a été renseignée avec le résultat de la demande de permission.
Remarques
  • La permission permLocalisationEnArrièrePlan ou "android.permission.ACCESS_BACKGROUND_LOCATION" doit être demandée seule et après l'acceptation des permissions correspondant aux constantes permLocalisation ou permLocalisationPrécise.
  • La permission doit avoir été déclarée dans le manifeste de l'application. Une erreur fatale sera déclenchée dans le cas contraire.
  • Il n'est pas nécessaire d'appeler la fonction PermissionDemande pour les permissions dites "normales" (par opposition aux permissions dites "dangereuses") car elles sont automatiquement accordées dès l'installation de l'application à partir du moment où elles ont été déclarées dans le manifeste de l'application.
  • Pour les permissions dites "dangereuses" (accès à la positon de l'appareil, à la caméra, au micro, etc), le framework Android se charge automatiquement d'effectuer la demande de permission à l'utilisateur lors de l'utilisation de la fonctionnalité correspondante. La fonction PermissionDemande peut toutefois être utilisée dans les cas par exemple où l'on souhaite afficher un message informatif à l'utilisateur avant d'effectuer une demande de permission.
  • Si la permission a déjà été accordée, aucune fenêtre de validation ne sera affichée.
  • ATTENTION : Puisque la fonction PermissionDemande peut afficher une fenêtre pour que l'utilisateur valide la demande de permission, cette fonction doit donc être appelée depuis le thread principal de l'application.
  • Pour récupérer la liste des permissions déclarées par l'application, utilisez la fonction PermissionListe.
Classification Métier / UI : Code neutre
Composante : wd300android.aar
Version minimum requise
  • Version 26
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale