MozNFCPeer.sendNDEF()

The sendNDEF() method of the MozNFCPeer interface is used to send NFC Data Exchange Formatted (NDEF) messages to another NFC enabled device.

Syntax

sendNDEF(sequence<MozNDEFRecord> records)

Example

function fromUTF8(str) {
  if (!str) {
    return null;
  }
  var buf = new Uint8Array(str.length);
  for (var i = 0; i < str.length; i++) {
    buf[i] = str.charCodeAt(i);
  }
  return buf;
}

var tnf     = 1;                                             // NFC Forum Well Known type
var type    = new Uint8Array(fromUTF8("U"));                 // URL type
var id      = new Uint8Array(fromUTF8(""));                  // id
var payload = new Uint8Array(fromUTF8("\u0003mozilla.org")); // URL data, with a short record prefix 0x3 replacing http://

var ndefRecords = [new MozNDEFRecord(tnf, type, id, payload)];
var nfcdom = window.navigator.mozNfc;
 nfcdom.onpeerready = function(event) {
  var nfcPeer = nfcdom.getNFCPeer(event.detail);  // 'event.detail' has sessionToken.
  var req = nfcpeer.sendNDEF(ndefRecords); // push NDEF message to other NFC device.
  req.onsuccess = function(e) {
    console.log("Successfully pushed P2P message");
  };
  req.onerror = function(e) {
    console.log("P2P push failed! Error: " + this.error.name);
  };
};

Parameters

A sequence of <MozNDEFRecord> records to send.

Returns

A DOMRequest object.

Errors

See onerror()

Specifications

The NFC implementation in Gecko follows the NFC Forum specifications.

Browser compatibility

Supported in Firefox OS 2.0 for certified-apps.
Available in privileged apps as of Firefox OS 2.2.

See also

Document Tags and Contributors

Contributors to this page: fscholz, chrisdavidmills, lgarner
Last updated by: fscholz,