NFC

Na tej stronie opisano, jak sterować komunikacją NFC na urządzeniu Cuttlefish za pomocą funkcji NFC Cuttlefish. Komunikacja NFC jest obsługiwana na urządzeniach Cuttlefish z Androidem 15 lub nowszym.

Używanie Casimira

Funkcja NFC Cuttlefish korzysta z oprogramowania Casimir, które jest zewnętrznym narzędziem do symulowania urządzeń NFC. Umożliwia ono wstrzykiwanie bajtów APDU na potrzeby emulacji karty hosta. Casimir jest zaimplementowany w /platform/system/nfc/tools/casimir/.

Gdy wprowadzasz Cuttlefish, Casimir jest też domyślnie uruchamiany. Aby sterować Casimirem, użyj usługi CasimirControlService.

Usługa CasimirControlService

Usługi CasimirControlService możesz używać za pomocą interfejsu API REST lub wiersza poleceń. Więcej informacji znajdziesz w artykule Mątwy: kontrola środowiska.

W tabeli poniżej opisano metodę CasimirControlService. Więcej informacji znajdziesz w artykule casimir_control.proto.

Metoda Opis
SendApdu Wysyła bajty APDU (ciągi szesnastkowe) za pomocą protokołów NFC-A i ISO-DEP. Odpowiedź jest zwracana jako ciągi szesnastkowe.

Poniżej znajduje się przykładowe polecenie i uproszczona odpowiedź na wysłanie dwóch bajtów APDU, [0x00, 0x11, 0x22][0x33, 0x44, 0x55].

  • Polecenie

    cvd env call CasimirControlService SendApdu '{apdu_hex_strings: ["001122", "334455"]}'
    
  • Uproszczona odpowiedź

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