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", ] }