以前、こんな記事を書いた。
[nfc]AndroidはType 3 TagのNDEFメッセージが113~127byteだと認識してくれない
コメントで「Android 4.2.1のバグかも」というお言葉をいただいた。
ふむふむ、そういうこともあるのか。
他の端末を試してみたいが、4.2.1は持ってないしな。。。。
と思って忘れていたところ、うちのNexus7に4.2.2のバージョンアップが降ってきた。
うひゃっほう(喜んでる叫びのつもり)。
以前試したデータでやってみよう。
結果!
読めた!
宿題は終わったんだ!!
まあ・・・別に私が修正したわけでもないし、直してもらうよう働きかけたわけでもないから、以前からわかっていたんだろうね。
こういう細かいところが修正されるのは、うれしいところだ。
気になったので、ソースファイルの変更箇所も調べることにした。
といっても、gitのログを見るだけだが。
おそらく、この変更だろう。
「Type 3 tag読み込みのとき、パディングを捨ててないのでNDEF解析に失敗する」ということらしい。
関数としては、phFriNfc_Felica_HChkApduBuff_Size()に変更が行われただけのようだ。
Type3のヘッダにあるサイズを使うか、読み込んだサイズを使うかの判断が追加された。
FeliCa Liteなどは16byte(1ブロック)単位でアクセスするが、その16byteにまるまる入っているわけではない。だから、それを調整したのか?
しかし・・・それだったら、もっとNDEF解析に失敗しただろう。
まあ、なんかあるんだろうね(深追いせず)。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。