近距離通信でピッ!ってやると情報をやりとり出来る感じです。日本で普及しているところだと、Felica(SuicaとかIcocaとかPasmoとかEdyとかnanacoに入ってます)はNFCの上に乗っかってる規格だそうです。トゥギャッターに"NFCについて教えてもらったよ!"まとめがあります。どっか適当な場所にコピーして、Eclipseに取り込みます。source"とかでソースを流用してプロジェクトを作る感じでOKです。すると、一部のクラスが名前解決できずにエラーになります。いれる足りないクラスは、guavaというライブラリに含まれているそうなので、ダウンロードしてきて突っ込みます。さんありがとう大好き><)このへんから落とせます。突っ込んでビルドパスに追加します。(もう一個のjarはgwtって単語が入ってるので直感で違うと思われたので試しませんでした。)これで、エラーは全て消えたはずです。実行してみる!NexusSにインストールして実行してみます!!Suicaを近づけてみると...インストールしたサンプルアプリが選択肢に出現しました!1秒以内かざすだけでもちゃんと検知してくれるみたいですね。何かデータが取れるわけでもなく...。コードを(少しだけ)読むとりあえずサンプルコードを読んで、何が行われているのか頑張ってみてみようと思います。定石通りAndroidManifest.xmlから。AndroidManifest.xmlパーミッションandroid.permission.NFCandroid.permission.CALL_PHONE上記二つがついていますね。電話かけるのとかIntent飛ばせば済む話なのになんでついてるんだろう...?なんかあったっけ?アクティビティランチャーから起動されるActivityはFakeTagsActivityとなっています。名前からして偽のNFC来ましたよIntentを投げる係の人でしょう。タグ見つけたぜー!Intentを受ける係のActivityっぽいですね。これがメインターゲットのActivityです。あるのでNFCを触るにはこれが必要っぽいですね。これ特に無くても動くそうです。先生のYanzmingActionにはいつもお世話になっています!┌○NFCがオマケ機能的にサポートされているアプリの場合、ない方がよいのですね...。uses-featureってそういうものだったんだ...。TagViewer.javaFelicaやおサイフケータイを近づけてみると、L70のintent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);でnullが返ってきてしまっているみたいですね...。intent.getParcelableArrayExtra(NfcAdapter.EXTRA_ID);も試してみても同じくnullが返ってきてしまいます...。下記コードで普通にID取れました...。搭載されているのに脳味噌をちゃんと使わなかった結果ですごめんなさい。借りて試してみたけど、同じ結果で終わってしまいました...。今現状では、日本人なら誰もが求めるFelicaさんとのお話をするのは無理そうです...。API眺めてみてもNfcAdapter以外にアクセスの口はなさそうです。指定されて僕達からは見えなくなっているあたりにはRead/Writeの口や近傍のNFCとコネクションを確立するための口があるような気がしないでもないのですが...。NFCのR/Wをする機材もしゃちょーが注文してくれたので、年明けにそれを使って再チャレンジの予定。いったBarAndroidにいったら進展あったよ!(12月28日追記)BarAndroidにいったら、@zaki50さんがNexusSをふにふにした結果色々発掘してくださいました!その結果をちょっとまとめて書いておきたいと思います。検出出来るNexusSは検出できないNexusSにNexusSを近づけても何も検出できない...!!intent.getByteArrayExtra(NfcAdapter.EXTRA_ID);上記コードでFelicaのIDmと思われる値が取れました。このページに添付してあるTagWrapper.javaでちょびっと楽にFelicaのデータが扱えるようになるかも。TagWrapper(tag);こんな感じで使います。NfcAdapterの中身とか見るともっと色々できそうな予感...!暇を見つけてトライしていきたいところですね。まめちしきうわーんブレークポイント設定しているのにブレークポイントで止まらないよー!!っていう人はDDMSパースペクティブをひらいて、Devicesのビューからアタッチしたいプロセスを選択してから虫ボタンとか押すといいです。