価格は一枚あたり約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 件のコメント:
コメントを投稿