DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Fonctions NFC
  • Fonctionnement
  • Permissions requises
  • Application en arrière-plan : Spécificité à partir de Android 10
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
Déclenche l'écriture de données sur un tag (ou puce) NFC.
Remarque : Les fonctions NFC ne peuvent pas être utilisées dans le simulateur ou dans l'émulateur.
Exemple
// Ecrit une url dans un tag NFC (mode bloquant)
tag est un nfcTag
url est une nfcDonnée
url.Type = nfcURI
url.Contenu = "http://www.pcsoft.com"
Ajoute(tag.Donnée, url)
NFCEcritTag(tag)
SI ErreurDétectée ALORS
Erreur("Echec de l'écriture sur le tag NFC.", ErreurInfo())
FIN
// Ecrit une url dans un tag NFC (mode non bloquant)
tag est un nfcTag
url est une nfcDonnée
url.Type = nfcURI
url.Contenu = "http://www.pcsoft.com"
Ajoute(tag.Donnée, url)
SI PAS NFCEcritTag(tag, EcritureTagNFC) ALORS
Erreur("Echec lors de l'écriture NFC.", ErreurInfo())
FIN
PROCÉDURE INTERNE EcritureTagNFC(nRésultatNFC est un entier)
SI nRésultatNFC <> nfcOK ALORS
Trace("Un problème est survenu")
FIN
FIN
Syntaxe

Ecrire un tag en mode bloquant Masquer les détails

<Résultat> = NFCEcritTag(<Tag>)
<Résultat> : Entier
  • 1 si l'écriture a réussi,
  • une des constantes suivantes dans le cas contraire :
    nfcErrDésactivéLe NFC n'est pas activé sur l'appareil.
    nfcErrDétectionLe tag NFC est sorti du champ de détection pendant le processus d'écriture.
    nfcErrEmulateurAppel de la fonction depuis l'émulateur.
    nfcErrFormatLe format des données à écrire est invalide.
    nfcErrInconnueErreur inconnue.
    nfcErrLectureSeuleLe tag NFC est en protégé en écriture.
    nfcErrNDEFLe tag NFC ne peut pas être formaté au format NDEF (NFC Data Exchange Format).
    nfcErrProtectionLe tag NFC ne peut pas être protégé en écriture (mode non supporté par le tag).
    nfcErrTailleMaxLa taille des données à écrire est supérieure à la taille maximale des données pouvant être stockées sur le tag NFC.

    En cas d'erreur, la variable ErreurDétectée est à Vrai. Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo.
<Tag> : Variable de type nfcTag
Nom de la variable de type nfcTag décrivant les données à écrire.

Ecrire un tag en mode non bloquant Masquer les détails

<Résultat> = NFCEcritTag(<Tag> , <Procédure WLangage>)
<Résultat> : Booléen
  • Vrai si l'écriture a été lancée,
  • Faux dans le cas contraire.
<Tag> : Variable de type nfcTag
Nom de la variable de type nfcTag décrivant les données à écrire.
<Procédure WLangage> : Nom de procédure
Nom de la procédure WLangage (également nommée "callback") appelée lors de l'écriture du tag. Cette procédure permet de savoir si l'écriture du tag a été réalisée ou bien si elle a échoué. Cette procédure est de la forme :
PROCEDURE <Nom de la procédure>(<Résultat>)
où <Résultat> correspond au résultat de l'écriture :
  • 1 si l'écriture du tag a réussi,
  • une des constantes suivantes dans le cas contraire :
    nfcErrAnnulationL'action a été annulée par l'utilisateur.
    nfcErrDésactivéLe NFC n'est pas activé sur l'appareil.
    nfcErrDétectionLe tag NFC est sorti du champ de détection pendant le processus d'écriture.
    nfcErrEmulateurAppel de la fonction depuis l'émulateur.
    nfcErrFormatLe format des données à écrire est invalide.
    nfcErrInconnueErreur inconnue.
    nfcErrIndisponibleLe capteur NFC n'existe pas ou est indisponible.
    nfcErrLectureSeuleLe tag NFC est en protégé en écriture.
    nfcErrNDEFLe tag NFC ne peut pas être formaté au format NDEF (NFC Data Exchange Format).
    nfcErrProtectionLe tag NFC ne peut pas être protégé en écriture (mode non supporté par le tag).
    nfcErrTailleMaxLa taille des données à écrire est supérieure à la taille maximale des données pouvant être stockées sur le tag NFC.
    nfcOKL'opération a été effectuée.
Remarques

Fonctionnement

L'appel de la fonction NFCEcritTag déclenche automatiquement l'ouverture d'une fenêtre invitant l'utilisateur à approcher son appareil du tag NFC dans lequel il souhaite écrire.
Cette fenêtre sera automatiquement fermée :
  • à la fin de l'opération d'écriture,
  • si l'utilisateur annule l'opération en appuyant sur la touche Back de l'appareil.
Remarque : Pour personnaliser le message affiché dans cette fenêtre, utilisez la fonction TitreSuivant avant l'appel à la fonction NFCEcritTag.
Une vibration de l'appareil est déclenchée lorsque l'appareil détecte le tag NFC. Il est important de conserver l'appareil à proximité du tag NFC durant toute la durée d'affichage de la fenêtre de capture sous peine d'interrompre le processus d'écriture.

Permissions requises

L'utilisation de cette fonction entraîne la modification des permissions requises par l'application.
Permissions requises :
  • NFC : Permet aux applications d'effectuer des opérations d'entrée/sortie par la technologie NFC.
  • VIBRATE : Permet d'accéder à la fonction vibreur.
Android

Application en arrière-plan : Spécificité à partir de Android 10

A partir de Android 10, il n'est plus possible d'ouvrir une fenêtre lorsque l'application est en arrière-plan.
La fonction NFCEcritTag peut provoquer l'ouverture d'une fenêtre. Si cette fonction est utilisée alors que l'application est en arrière-plan, une erreur fatale sera générée.
Conseils :
  • Il est possible de savoir si l'application est en arrière-plan grâce à la fonction EnModeArrièrePlan.
  • Si une application a besoin d'interagir avec l'utilisateur alors qu'elle se trouve en arrière-plan, la solution consiste à afficher une notification (via le type Notification). Lors du clic sur la notification, l'application sera remise au premier plan si la propriété ActiveApplication est à Vrai. Il est également possible d'ouvrir une fenêtre depuis la procédure passée à la propriété ActionClic.
Liste des exemples associés :
WM Système Exemples multiplateforme (WINDEV Mobile) : WM Système
[ + ] Cette application est un exemple didactique montrant quelques unes des fonctionnalités de WINDEV Mobile pour Android/iOS.
Les fonctions système utilisées sont :
- NFC
- Champ Multimédia
- Luminosité
- Volume
- WIFI
- Bluetooth
- Toast
- Boussole
- Accéléromètre
- Champ caméra
- LED
- Vibrations
- Notifications
- Fonctions de dessin
- Internet
Classification Métier / UI : Code métier
Composante : wd290android.aar
Version minimum requise
  • Version 18
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 22/06/2023

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