public static NdefRecord createEventAppData(@NonNull Context context, @NonNull Event event) { String mimeType = "application/" + context.getPackageName(); byte[] mimeData = String.valueOf(event.getId()).getBytes(); return NdefRecord.createMime(mimeType, mimeData); }
public static NdefRecord createBookmarksAppData(@NonNull Context context, List<Event> bookmarks) { String mimeType = "application/" + context.getPackageName() + "-bookmarks"; final int size = bookmarks.size(); ByteBuffer buffer = ByteBuffer.allocate(4 + size * 8); buffer.putInt(size); for (int i = 0; i < size; ++i) { buffer.putLong(bookmarks.get(i).getId()); } return NdefRecord.createMime(mimeType, buffer.array()); }
public NdefRecord[] createRecords() { NdefRecord[] records = new NdefRecord[messagesToSendArray.size() + 1]; //To Create Messages Manually if API is less than if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) { for (int i = 0; i < messagesToSendArray.size(); i++) { byte[] payload = messagesToSendArray.get(i).getBytes(Charset.forName("UTF-8")); NdefRecord record = new NdefRecord( NdefRecord.TNF_WELL_KNOWN, //Our 3-bit Type name format NdefRecord.RTD_TEXT, //Description of our payload new byte[0], //The optional id for our Record payload); //Our payload for the Record records[i] = record; } } //Api is high enough that we can use createMime, which is preferred. else { for (int i = 0; i < messagesToSendArray.size(); i++) { byte[] payload = messagesToSendArray.get(i). getBytes(Charset.forName("UTF-8")); NdefRecord record = NdefRecord.createMime("text/plain", payload); records[i] = record; } } records[messagesToSendArray.size()] = NdefRecord.createApplicationRecord(PACKAGE_NAME); return records; } }
NdefRecord record = NdefRecord.createMime( DevicePolicyManager.MIME_TYPE_PROVISIONING_NFC, stream.toByteArray()); return new NdefMessage(new NdefRecord[]{record});