Java tutorial
//package com.java2s; // Released under the Apache License, Version 2.0 import android.app.Activity; import android.nfc.NdefMessage; import android.nfc.NdefRecord; import android.nfc.NfcAdapter; import java.nio.charset.Charset; import java.util.Locale; public class Main { public static void enableNFCWriteMode(Activity activity, NfcAdapter nfcAdapter, String textToWrite) { NdefRecord textRecord = createTextRecord(textToWrite, true); NdefMessage msg = new NdefMessage(new NdefRecord[] { textRecord }); nfcAdapter.enableForegroundNdefPush(activity, msg); } public static NdefRecord createTextRecord(String payload, boolean encodeInUtf8) { byte[] langBytes = Locale.getDefault().getLanguage().getBytes(Charset.forName("US-ASCII")); Charset utfEncoding = encodeInUtf8 ? Charset.forName("UTF-8") : Charset.forName("UTF-16"); byte[] textBytes = payload.getBytes(utfEncoding); int utfBit = encodeInUtf8 ? 0 : (1 << 7); char status = (char) (utfBit + langBytes.length); byte[] data = new byte[1 + langBytes.length + textBytes.length]; data[0] = (byte) status; System.arraycopy(langBytes, 0, data, 1, langBytes.length); System.arraycopy(textBytes, 0, data, 1 + langBytes.length, textBytes.length); NdefRecord record = new NdefRecord(NdefRecord.TNF_WELL_KNOWN, NdefRecord.RTD_TEXT, new byte[0], data); return record; } }