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]
i [0x33, 0x44, 0x55]
.
Polecenie
cvd env call CasimirControlService SendApdu '{apdu_hex_strings: ["001122", "334455"]}'
Uproszczona odpowiedź
Rpc succeeded with OK status { "responseHexStrings": [ "9000", "9000", ] }