Cara Menulis Rekod NDEF ke Teg NFC
Memahami Isu
NDEF, atau Format Pertukaran Data NFC, digunakan untuk menyimpan data pada tag NFC. Untuk menulis rekod NDEF pada teg NFC, anda perlu:
Menulis Rekod NDEF Menggunakan API enableReaderMode
Pendekatan sebelumnya menggunakan operasi NFC berasaskan Niat memperkenalkan had dan pengguna masalah pengalaman. Untuk menanganinya, pendekatan yang lebih baharu dan disyorkan ialah menggunakan API enableReaderMode.
API ini menyediakan kawalan terus ke atas pembaca NFC, membolehkan anda:
Contoh Pelaksanaan
Di bawah ialah coretan kod yang melaksanakan pendekatan ini:
public class NFCActivity extends AppCompatActivity implements NfcAdapter.ReaderCallback { private NfcAdapter mNfcAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_nfc); mNfcAdapter = NfcAdapter.getDefaultAdapter(this); } @Override protected void onResume() { super.onResume(); if (mNfcAdapter != null) { Bundle options = new Bundle(); options.putInt(NfcAdapter.EXTRA_READER_PRESENCE_CHECK_DELAY, 250); mNfcAdapter.enableReaderMode(this, this, NfcAdapter.FLAG_READER_NFC_A | NfcAdapter.FLAG_READER_NFC_B | NfcAdapter.FLAG_READER_NFC_F | NfcAdapter.FLAG_READER_NFC_V | NfcAdapter.FLAG_READER_NFC_BARCODE | NfcAdapter.FLAG_READER_NO_PLATFORM_SOUNDS, options); } } @Override public void onTagDiscovered(Tag tag) { Ndef mNdef = Ndef.get(tag); if (mNdef != null) { NdefRecord mRecord = NdefRecord.createTextRecord("en", "English String"); NdefMessage mMsg = new NdefMessage(mRecord); try { mNdef.connect(); mNdef.writeNdefMessage(mMsg); runOnUiThread(() -> { Toast.makeText(getApplicationContext(), "Write to NFC Success", Toast.LENGTH_SHORT).show(); }); try { Uri notification = RingtoneManager. getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification); r.play(); } catch (Exception e) { // Handle error playing sound } } catch (Exception e) { // Handle errors } finally { try { mNdef.close(); } catch (Exception e) { // Handle error closing tag } } } } }
Pendekatan ini memastikan pengalaman menulis NFC yang lebih dipercayai dan mesra pengguna.
Atas ialah kandungan terperinci Bagaimana untuk Menulis Rekod NDEF ke Teg NFC Menggunakan API enableReaderMode?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!