2014/09/06

[android]Nexus7 2012でシステムコードが取れないがわからん

わからんシリーズだ。

うちには、Nexus7 2013(5.0α?)と、Nexus7 2012(4.4.4)がある。
FeliCa Liteをかざして見るのだが、なぜかシステムコードが取れない。
しかも、4.4.4(API 19)の方だけ。
why ?

(Tag)intent.getParcelableExtra(NfcAdapter.EXTRA_TAG)

こんなのでTagを取ってきて、

NfcF nfcf = NfcF.get(tag);

こんな感じでNfcFを取ってくる。
そうすると、中の方で

/** @hide */
public NfcF(Tag tag) throws RemoteException {
    super(tag, TagTechnology.NFC_F);
    Bundle extras = tag.getTechExtras(TagTechnology.NFC_F);
    if (extras != null) {
        mSystemCode = extras.getByteArray(EXTRA_SC);
        mManufacturer = extras.getByteArray(EXTRA_PMM);
    }
}

こんなのが行われて、mSystemCodeにデータが入ってくる。
・・・のだが、そこで0が入った配列が渡されてくるので、システムコードが取って来れないのだ。
ちなみに、IDmもだめだった。
こっちは、0x00じゃなくて、ちょっとゴミっぽい。

不思議なことに、NfcFはそうなんだけど、元になっているTagの方にはIDmもシステムコードも入っていた。
だから、Intentから取ってくればいけるのかもしれん(試してない)。
が、せっかくNfcF#getSystemCode()ってのがあるのに使えないのは、なんか変だ。

うーん、わからん。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。