2012年7月19日木曜日

AndroidでNFCタグに反応するシンプルなアプリを作る

作るもの

  • NFCタグに反応するアプリを作る
  • 反応したらそのNFC-IDをToastで表示する
  • 反応するのはアプリ起動中のみ

AndroidManifest


1. SDK の変更をする

NFCが使えるAPI Levelは9以降になります。
しかし9はNFCを使うには貧弱なAPIしかないので10以降を指定します。


2. uses-feature を追加する

NFCをもっていない端末にはダウンロードされないように
機能の指定を行います。


3. permission を追加する

NFCを使うためには以下のパーミッションが必要になります。


4. launchMode を変更する

NFCに反応してIntentが発行されるとデフォルトのLaunch Mode(standard)では新しくActivityを作ろうとします。
何度も同じActivityを作られては困るので、launchModeを指定します。


Activity

NFCタグに反応するための準備とNFCタグを受け取る部分を実装します。


1. NFC機能のない端末では起動できないようにする

use-featureで制限していますので、ここで終了するパターンはありません。


2. NFCが無効になっていた時に終了する

NFCが無効になっていた場合、アプリを終了します。
終了するよりも、設定画面に遷移した方が親切です。


3. NFCタグを発見した時に反応するように登録する

設定する項目は2つあります。
3-1. 反応するActionを指定する(詳しくはこちら)
3-2. 反応するタグの種類を指定する(詳しくはこちら)


4. 登録を解除する

アプリがフォアグラウンドにいない時にはNFCに反応しなくていいので
onPauseにて登録を解除します。


5. Intentを受け取る

NFCタグに反応したIntentはonNewIntentを通して受け取ります。
IntentのExtraに格納されたデータを使い、タグとやり取りをします。
以下のコードではNFC-IDを受け取り文字列に整形した後に
Toastで表示しています。


実行イメージ


ソースコード

https://github.com/bs-nfc/NFCHandlerOnApp

カスタマー開発部 山下智樹

140 180 Android , NFC

記載されている会社名、および商品名等は、各社の商標または登録商標です。

0 コメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...