NFC

本頁說明如何使用 Cuttlefish NFC 功能控制 Cuttlefish 裝置的 NFC。搭載 Android 15 以上版本的 Cuttlefish 裝置支援 NFC 功能。

使用 Casimir

Cuttlefish NFC 功能會使用 Casimir,這是外部 NFC 裝置模擬工具,可為主機卡模擬功能注入 APDU 位元組。Casimir 已在 /platform/system/nfc/tools/casimir/ 中實作。

啟動 Cuttlefish 時,系統也會預設啟動 Casimir。如要控制 Casimir,請使用 CasimirControlService 服務。

CasimirControlService

您可以透過 REST API 或指令列介面使用 CasimirControlService 服務。詳情請參閱「Cuttlefish:環境控制」。

下表說明 CasimirControlService 中的方法。詳情請參閱 casimir_control.proto

方法 說明
SendApdu 使用 NFC-A 和 ISO-DEP 傳送 APDU 位元組 (十六進位字串)。回應會以十六進位字串的形式傳回。

以下範例是傳送兩個 APDU 個位元組 ([0x00, 0x11, 0x22][0x33, 0x44, 0x55]) 的指令範例和簡化回應。

  • 指令

    cvd env call CasimirControlService SendApdu '{apdu_hex_strings: ["001122", "334455"]}'
    
  • 簡化回覆

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