Skip to content

Modules.Nfc.TagTechnology

Represents an interface to a specific tag technology.

NFC tags are based on a number of independently developed technologies and offer a wide range of capabilities. The TagTechnology proxies provide access to these different technologies and capabilities. The TagTechnology proxy is the base type for more type-specific tag technologies. You will work with the type-specific tag technology proxies which provide capabilities for each tag technology.

Use one of the Modules.Nfc.createTagTechnologyIsoDep, Modules.Nfc.createTagTechnologyMifareClassic, Modules.Nfc.createTagTechnologyMifareUltralight, Modules.Nfc.createTagTechnologyNdefFormatable, Modules.Nfc.createTagTechnologyNdef, Modules.Nfc.createTagTechnologyNfcA, Modules.Nfc.createTagTechnologyNfcB, Modules.Nfc.createTagTechnologyNfcF, Modules.Nfc.createTagTechnologyNfcV method variants to create a tag technology proxy.

See also: TagTechnology

Extends: Titanium.Proxy · Since: 1.1.0 · Platforms: android

Properties #

tag#

Type: Modules.Nfc.NfcTag

The tag technology that has been discovered.

When a tag is discovered, a Modules.Nfc.NfcTag proxy is created and passed as a property to the onNdefDiscovered, onTagDiscovered, or
onTechDiscovered callback (see <NdefDiscovered>).

Methods #

close #

Disable I/O operations to the tag and release resources.

connect #

Enable I/O operations to the tag.

Only one Tag Technology proxy can be connected to a Tag at a time.

isConnected #

Returns true if connect has completed, and close has not been called, and the tag is not known to be out of range.

Returns: Boolean

isValid #

Return true if this tag technology was successfully obtained.

Returns: Boolean

Examples #

Write Ndef Tag

This example uses the TECH_NDEF tag technology to write a <Modules.Nfc.NdefMessage> message to a tag.

var tech = nfc.createTagTechnologyNdef({
    tag: scannedTag
});

if (!tech.isValid()) {
    alert("Failed to create Ndef tag type");
    return;
}

// Attempt to write an Ndef record to the tag
try {
    tech.connect();

    // It's possible that the tag is not writable, so we need to check first.
    if (!tech.isWritable()) {
        alert ("Tag is not writable");
    } else {
        // Create a new message to write to the tag
        var date = new Date();
        var textRecord = nfc.createNdefRecordText({
            text: "Titanium NFC module. Tag updated on " + date.toLocaleString() + "!!!"
        });
        var msg = nfc.createNdefMessage({
            records: [ textRecord ]
        });
    
        // Write to the tag
        tech.writeNdefMessage(msg);
    }
} catch (e) {
    alert("Error: " + e.message);
} finally {
    if (tech.isConnected()) {
        tech.close();
    }
}

Titanium SDK Documentation