Na tej stronie opisaliśmy, jak sterować komunikacją NFC na urządzeniu Cuttlefish za pomocą funkcji NFC Cuttlefish. NFC jest obsługiwane na urządzeniach Cuttlefish z Androidem 15 lub nowszym.
Użyj Casimir
Funkcja NFC w Cuttlefish korzysta z Casimira, zewnętrznego narzędzia do symulacji urządzenia NFC, które obsługuje wstrzykiwanie bajtów APDU na potrzeby emulacji karty hosta. Casimir jest zaimplementowany w /platform/system/nfc/tools/casimir/
.
Podczas uruchamiania Cuttlefish domyślnie uruchamiana jest też usługa Casimir. Aby sterować Casimir, użyj usługi CasimirControlService
.
CasimirControlService
Możesz korzystać z usługi CasimirControlService
za pomocą interfejsu API REST lub interfejsu wiersza poleceń. Więcej informacji znajdziesz w artykule Cuttlefish: Environment Control (w języku angielskim).
W tabeli poniżej opisujemy metodę w CasimirControlService
. Więcej informacji znajdziesz w sekcji casimir_control.proto
.
Metoda | Opis |
---|---|
SendApdu
|
Wysyła bajty APDU (ciągi szesnastkowe) za pomocą NFC-A i ISO-DEP. Odpowiedź jest zwracana jako ciągi szesnastkowe. |
Oto przykładowe polecenie i uproszczona odpowiedź na wysłanie 2 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", ] }