NFC

Trang này mô tả cách điều khiển NFC trên thiết bị Cuttlefish bằng tính năng NFC của Cuttlefish. NFC được hỗ trợ trên các thiết bị Cuttlefish 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ợ việc chèn các byte APDU để mô phỏng thẻ trên máy chủ. Casimir được triển khai trong /platform/system/nfc/tools/casimir/.

Khi khởi chạy Cuttlefish, Casimir cũng sẽ đượ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: Environment Control (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à một ví dụ về lệnh và phản hồi đơn giản để gửi 2 byte APDU, [0x00, 0x11, 0x22][0x33, 0x44, 0x55].

  • Lệnh

    cvd env call CasimirControlService SendApdu '{apdu_hex_strings: ["001122", "334455"]}'
    
  • Câu trả lời đơn giản

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