作るもの
- 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
カスタマー開発部 山下智樹
記載されている会社名、および商品名等は、各社の商標または登録商標です。
0 コメント:
コメントを投稿