nfc-felica/android 2.3 nfc access felica command
抽象化をひとつ上げたFeliCa.javaを用いて、巷で使用されている他の言語のライブラリィのような簡易な呼び出しが可能になります。
具体的には以下のようなコードでFeliCa側のデータ(認証不要、非暗号化)を読み込みます。
- NFCFeliCaReader.javaより
this.nfcTag = intent.getParcelableExtra("android.nfc.extra.TAG");
// nfcTagだけは外から貰わないと動かない
FeliCa f = new FeliCa(this.nfcTag);
//polling は IDm、PMmを取得するのに必要
f.polling(FeliCa.SYSTEMCODE_PASMO);
//read実行
byte[] result = f.readWithoutEncryption(FeliCa.SERVICE_SUICA_HISTORY, (byte)0);
FeliCa#readWithoutEncryptionの戻り値は読み込んだブロックデータだけとなります。(16byte)
今後は結果をSuicaの使用履歴にラップすることを考えています。