Trang này mô tả cách kiểm soát NFC trên thiết bị Cuttlefish bằng tính năng NFC Cuttlefish. NFC được hỗ trợ trên các thiết bị mực ống chạy Android 15 trở lên.
Sử dụng Casimir
Tính năng NFC của Cuttlefish sử dụng Casimir, một công cụ mô phỏng thiết bị NFC bên ngoài, hỗ trợ chèn byte APDU để mô phỏng thẻ máy chủ. Casimir được
triển khai trong
/platform/system/nfc/tools/casimir/
.
Khi khởi chạy Cuttlefish, Casimir cũng được khởi chạy theo mặc định. Để điều khiển Casimir, hãy sử dụng dịch vụ CasimirControlService
.
CasimirControlService
Bạn có thể sử dụng dịch vụ CasimirControlService
thông qua API REST hoặc giao diện dòng lệnh. Để biết thông tin chi tiết, hãy xem bài viết Cuttlefish: Kiểm soát môi trường.
Bảng sau đây mô tả phương thức trong CasimirControlService
. Để biết thêm thông tin, hãy xem casimir_control.proto
.
Phương thức | Mô tả |
---|---|
SendApdu
|
Gửi các byte APDU (chuỗi hex) bằng NFC-A và ISO-DEP. Phản hồi được trả về dưới dạng chuỗi hex. |
Sau đây là lệnh mẫu và phản hồi được đơn giản hoá để gửi hai byte ADB là [0x00, 0x11, 0x22]
và [0x33, 0x44, 0x55]
.
Lệnh
cvd env call CasimirControlService SendApdu '{apdu_hex_strings: ["001122", "334455"]}'
Phản hồi đơn giản
Rpc succeeded with OK status { "responseHexStrings": [ "9000", "9000", ] }