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
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|
| Basic support |
No support |
No support | No support | No support | No support |
| Feature | Android | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | No support | No support | 2.0 moz [1] | No support | No support | No support |
[1] Available in privileged apps as of Firefox OS 2.2; certified-only before that.
See also
- Using the NFC API
- Using the NFC emulator
- Introduction to NFC (fairly long reference doc, featuring general NFC terms, and some Nokia platform specifics.)