価格は一枚あたり約300円でした
このNFCタグへURLの書き込みを行いました。
NdefFormatableのハンドリング
NdefFormatableのTag配信をハンドリングするための準備AndroidManifest.xmlの記載
NFCを使うためのPermision<uses-permission android:name="android.permission.NFC" /> <uses-feature android:name="android.hardware.nfc" android:required="true" />
Intent-filterの追加
<intent-filter> <action android:name="android.nfc.action.TECH_DISCOVERED" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <meta-data android:name="android.nfc.action.TECH_DISCOVERED" android:resource="@xml/nfc_tech_list" />
Tech-ListのXmlを作成
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <tech-list> <tech>android.nfc.tech.NdefFormatable</tech> </tech-list> </resources>
Activity側でTagを受信
IntentからTag情報を取得if (getIntent().getAction().equals(NfcAdapter.ACTION_TECH_DISCOVERED)) { Tag tag = getIntent().getParcelableExtra(NfcAdapter.EXTRA_TAG); }
NFCタグへURLを書き込む
NdefFormatable.get(tag)でNdefFormatableクラスを取得し、write処理を行う。public void write(Tag tag, String uri) { NdefRecord rtdUriRecords[] = { NdefRecord.createUri(uri) }; NdefFormatable ndef = NdefFormatable.get(tag); NdefMessage message = new NdefMessage(rtdUriRecords); try { ndef.connect(); ndef.format(message); } catch (IOException e) { e.printStackTrace(); } catch (FormatException e) { e.printStackTrace(); } finally { try { ndef.close(); } catch (IOException e) { e.printStackTrace(); } } }
0 件のコメント:
コメントを投稿