AndroidでNFCを2度と書き込めないように読み取り専用にしたい!
概要
今回の記事では、AndroidでNFCを2度と書き込めないように読み取り専用にする手順を掲載する。
NFCの種類によってはロックできないかもしれないです。
仕様書
環境
- Android Studio Chipmunk 2021.2.1 Patch 2
- Java 1.8(8)
手順書
Activity
のonCreate
の中などでNfcAdapter
をインスタンス化しつつ、コールバック用のクラスを設定したりしつつ。下記は例です。
NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);
nfcAdapter.enableReaderMode(MainActivity.this, new NfcReaderCallback(), NfcAdapter.FLAG_READER_NFC_F | NfcAdapter.FLAG_READER_NFC_A | NfcAdapter.FLAG_READER_NFC_B | NfcAdapter.FLAG_READER_NFC_V, null);
コールバック用のクラス。
NDEF
に接続してNFCの書き込みを読み取り専用にするサンプル。
private class NfcReaderCallback implements NfcAdapter.ReaderCallback
{
@Override
public void onTagDiscovered(Tag tag)
{
Ndef ndef = Ndef.get(tag);
try
{
ndef.connect();
// 現在読み取っているNFCを読み取り専用にできるのか判定する
if (ndef.canMakeReadOnly())
{
// NFCを読み取り専用にする
ndef.makeReadOnly();
}
}
ndef.close();
} catch (Exception e) {
Log.d("NFC Exception", e.getMessage());
}
}
まとめ(感想文)
いたずら防止に。
PR
テスト用に使ってるNFCラベル。
安いけど問題なし!オススメ!!
50枚入り。1枚40円。(2022年9月時点)
リンク