CyanogenMod 11 より前は、CyanogenMod は独自のホストベースのカード エミュレーション機能をサポートしていました。テクノロジのフォアグラウンド ディスパッチを登録し、メソッドandroid.nfc.tech.IsoPcdA
を使用してスマートカードをエミュレートできます。この API の使用方法については、IsoPcdA.transceive()
Nikolay Elenkov のブログ投稿を参照してください。
ただし、CyanogenMod 11 ソース (具体的には NFC サービスの tht) を閲覧すると、Android 4.4 の公式 HCE API を支持して、この機能がバージョン 11 で削除されたようです。
公式の Android 4.4 HCE API により、アプリは Android サービスで非接触型スマートカード (ISO 14443-4 + ISO 7816-4 APDU) をエミュレートできます。このサービスは、アプリケーションの着信コマンド APDU をすべて処理し、適切な応答 APDU を生成します。このような HCE サービスを登録する方法の詳細については、公式 API ユーザー ガイドを参照してください。また、HCE サービス内で着信コマンド APDU を処理する方法に関するこの回答も参照してください。
残念ながら、この API は、低レベルの NFC スタックとして libnfc-nxp を使用するデバイスでも利用できません ( CyanogenMod 11 ソース コードのrouteAid()
との空の実装を参照してください)。enableRoutingToHost()
これを要約すると、現在、CM 11 を搭載した Nexus S でホストベースのカード エミュレーションを行うことはできないようです。