NfcAdapter
読み:エンエフスィー-アダプター
外語:NfcAdapter
Android APIが提供する、NFC制御用のクラス。APIレベル9以上で対応。
概要
特徴
インテント
AndroidにおいてNFCを認識した場合のインテントは次の3種類があり、上ほど優先度が高い。
- ACTION_NDEF_DISCOVERED
- ACTION_TECH_DISCOVERED
- ACTION_TAG_DISCOVERED
テクノロジー
Tag#getTechListメソッドでは、カードが対応するテクノロジーの種類が文字列の配列として得られる。拡張性などを高めるためか、Androidにおけるクラス名が用いられている。
Android 5.0(Lollipop)で対応するものは次のとおりである(順不同)。
- android.nfc.tech.IsoDep
- android.nfc.tech.MifareClassic
- android.nfc.tech.MifareUltralight
- android.nfc.tech.Ndef
- android.nfc.tech.NdefFormatable
- android.nfc.tech.NfcA
- android.nfc.tech.NfcB
- android.nfc.tech.NfcF
- android.nfc.tech.NfcV
- android.nfc.tech.NfcBarcode
テクノロジーの確認
例えば、次のようにしてICカード等のテクノロジーを一覧化できる。
Intent intent = getIntent();
String action = intent.getAction();
if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(action)) {
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
String[] techlist = tag.getTechList();
for (String tech : techlist) {
Log.v("NFC", tech);
}
}
再検索