2013/01/13

[android]単にNDEF_DISCOVEREDとしただけではNDEFのintentが来ない?

今回は、私の技術不足という問題。
「役者不足」といいますか。

ひとまず、NFC-FでもNDEFとして読み込んでくれるサイズにしたデータを書き込んだカードを作った。
では、それをNDEF_DISCOVEREDでintentを飛ばしてほしい。
ほしいのだけど、自分のアプリが起動しているときだけでいいので、intent-filterはManifest.xmlには書きたくない。

こんな作りにしてみた。

@Override
protected void onResume() {
    super.onResume();
    IntentFilter[] intentFilter = new IntentFilter[] {
        new IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED),
    };
    String[][] techList = new String[][] {
        {
            android.nfc.tech.NfcF.class.getName()
        }
    };
    mAdapter.enableForegroundDispatch(this, mPendingIntent, intentFilter, techList);
}

AndroidManifest.xmlにはNFCのintent-filterを置かず、res/xmlも作っていない。

かざすと、logcatにはNDEFと出てくるのだが、onNewIntent()にはTECH_DISCOVEREDとして通知されてしまう。

うーむ。

0 件のコメント:

コメントを投稿

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