NFC

Cette page explique comment contrôler la technologie NFC sur un appareil Cuttlefish à l'aide de la fonctionnalité NFC Cuttlefish. Le NFC est compatible avec les appareils Cuttlefish équipés d'Android 15 ou version ultérieure.

Utiliser Casimir

La fonctionnalité Cuttlefish NFC utilise Casimir, un outil de simulation d'appareil NFC externe, qui permet d'injecter des octets APDU pour l'émulation de carte hôte. Casimir est implémenté dans /platform/system/nfc/tools/casimir/.

Lorsque vous lancez Cuttlefish, Casimir est également lancé par défaut. Pour contrôler Casimir, utilisez le service CasimirControlService.

CasimirControlService

Vous pouvez utiliser le service CasimirControlService via l'API REST ou l'interface de ligne de commande. Pour en savoir plus, consultez Cuttlefish : contrôle de l'environnement.

Le tableau suivant décrit la méthode dans CasimirControlService. Pour en savoir plus, consultez casimir_control.proto.

Méthode Description
SendApdu Envoie des octets APDU (chaînes hexadécimales) avec NFC-A et ISO-DEP. La réponse est renvoyée sous forme de chaînes hexadécimales.

Voici un exemple de commande et une réponse simplifiée pour envoyer deux octets APDU, [0x00, 0x11, 0x22] et [0x33, 0x44, 0x55].

  • Commande

    cvd env call CasimirControlService SendApdu '{apdu_hex_strings: ["001122", "334455"]}'
    
  • Réponse simplifiée

    Rpc succeeded with OK status
    {
    "responseHexStrings": [
      "9000",
      "9000",
    ]
    }