作者ian90911 (ianchu)
看板AndroidDev
標題[問題] 用NFC去讀mifare卡的UID
時間Sun Apr 15 16:39:46 2012
最近在摸NFC的功能,結果馬上就遇到問題
我是用這篇文章的程式去跑
縮網址
http://ppt.cc/Th0Y
http://mifareclassicdetectiononandroid.blogspot.com/2011/04/reading-mifare-
classic-1k-from-android.html
手機是galaxy nexus 4.0.2
基本上也沒有什麼改變
程式碼
http://paste.ideaslabs.com/show/8H0A9QOVAc
只是在讀到ID後把它丟到TEXTVIEW
不過卻連
if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(action))
這行都過不去
不知道問題出在哪裡,請各位指點一下了
-----
結果馬上就找出問題了
應該用ACTION_NDEF_DISCOVERED才能讀過去
不過我參考這篇文章
縮網址
http://ppt.cc/xW;U
的做法去存ID
Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
byte[] id = tagFromIntent.getId();
結果出來還是會有亂數(RID),但是我用NFC Taginfo讀的到UID
是不是還有什麼方法呢
--
原來要把byte array 轉16進位後在貼成字串
問題解決了
※ 編輯: ian90911 來自: 140.128.80.153 (04/15 17:41)
推 givemepass:我之前也遇到相同問題 也是相同解法XD 04/15 20:03
推 swatch0811:因為UID擺在Data block 0所以我是使用auth後再直接讀 04/16 22:47
→ swatch0811:以後r/w記得也都要byte的型式存取 04/16 22:48