簡體   English   中英

Android NFC卡仿真試圖模擬一張卡

[英]Android NFC Card Emulation try to emulate a card

我正在嘗試使用NFC來模擬卡片。

我期望的是,當我在NFC閱讀器上通過手機時,閱讀器會讀取數據(這些數據將在未來修改)。

將電話傳遞給閱讀器,根據我的理解,入口點應該在Java類CardService.java 但是方法processCommandApdu永遠不會被調用(我試圖在那里插入斷點甚至是吐司,但是從不調用該代碼)。

所以目前我無法理解的主要問題是:我做錯了嗎? 這件事可以做到嗎?

為了調用processCommandApdu() APDU命令調用processCommandApdu()方法,讀者需要先選擇應用程序。 根據ISO / IEC 8716-4使用SELECT(通過AID / DF名稱)命令完成選擇:

00 A4 04 00  <Lc>  <AID>  00

其中<Lc><AID>的長度, <AID> <AID>是為您的應用注冊的應用程序標識符。

ISO / IEC 8716-4應用程序結構(即通過SELECT(通過AID)命令選擇應用程序)是Android允許通過HCE開始與應用程序交互的唯一方式 因此,它不可能模仿使用不同的機制卡(卡應用程序)。 (至少沒有修改Android系統本身;例如,通過自定義ROM或通過Xposed。)

CardEmulation示例應用程序的AID通過示例項目中名為res/xml/aid_list.xml的文件進行注冊。 在此文件中,您注冊AID組,而AID組又包含AID過濾器條目:

<aid-group android:description="@string/card_title" android:category="other">
    <aid-filter android:name="F222222222"/>
</aid-group>

因此,示例應用程序中注冊的默認AID為F222222222 因此,您可以使用以下SELECT(字節AID)命令來選擇應用程序:

00 A4 04 00  05  F2 22 22 22 22  00

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM