NFC.NET Library for Android 1.0 Full Source
NFC.NET Library for Android 1.0 Full Source | 24 kB
.NET NFC library for Android.
uses Android NFC API
provides reading, writing and formatting NFC tags
supports NDEF, NFC-A, NFC-V, MIFARE Classic and MIFARE Ultralight tags
source code included in full version
royalty free distribution in applications
Library API
public class NfcTag
{
public NfcTag(Tag tag);
public NfcTag(Activity activity, Intent intent);
public string Id { get; }
public MifareClassicTag MifareClassicTag { get; }
public MifareUltralightTag MifareUltralightTag { get; }
public NdefFormatableTag NdefFormatableTag { get; }
public NdefTag NdefTag { get; }
public NfcATag NfcATag { get; }
public NfcVTag NfcVTag { get; }
public Tag Tag { get; }
public string[] TechList { get; }
public string GetId(char separator = ':');
}
public class NdefTag
{
public NdefTag(Ndef ndef);
public bool CanMakeReadOnly { get; }
public bool IsWritable { get; }
public NdefItem[] Items { get; }
public int MaxSize { get; }
public Ndef Ndef { get; }
public NdefRecord[] Records { get; }
public Tag Tag { get; }
public string Type { get; }
public bool MakeReadOnly();
public bool Write(NdefMessage message);
public bool Write(NdefItem item);
public bool Write(params NdefItem[] items);
}
public class NdefItem
{
public NdefItem(NdefRecord ndefRecord);
public string ExternalText { get; }
public bool IsAbsoluteUri { get; }
public bool IsEmpty { get; }
public bool IsExternalType { get; }
public bool IsMimeMedia { get; }
public bool IsText { get; }
public bool IsUnchanged { get; }
public bool IsUnknown { get; }
public bool IsUri { get; }
public bool IsWellKnown { get; }
public NdefRecord NdefRecord { get; }
public byte[] Payload { get; }
public string PayloadUtf8 { get; }
public string Text { get; }
public string TextLanguageCode { get; }
public string TnfDescription { get; }
public string Uri { get; }
public static NdefItem CreateApplicationItem(string packageName);
public static NdefItem CreateExternalItem(string domain, string type, byte[] data);
public static NdefItem CreateMimeItem(string mimeType, byte[] mimeData);
public static NdefItem CreateTextItem(string text, string languageCode = "en");
public static NdefItem CreateUriItem(string uri);
}
public class NfcATag
{
public NfcATag(NfcA nfcA);
public byte[] Atqa { get; }
public int MaxTransceiveLength { get; }
public NfcA NfcA { get; }
public short Sak { get; }
public Tag Tag { get; }
public int Timeout { get; set; }
public byte[] Transceive(byte[] data);
}
public class NfcVTag
{
public NfcVTag(NfcV nfcV);
public int BlockCount { get; }
public int BlockSize { get; }
public sbyte DsfId { get; }
public int Ic { get; }
public int MaxTransceiveLength { get; }
public NfcV NfcV { get; }
public sbyte ResponseFlags { get; }
public byte[] SystemInformation { get; }
public Tag Tag { get; }
public byte[] EasAlarm();
public byte[] GetInventory();
public byte[] LockAfi(byte afi);
public byte[] LockBlock(byte block);
public byte[] LockDsfid();
public byte[] LockEas();
public byte[] ReadBlock(byte block);
public byte[] ReadBlocks(byte firstBlock, byte blockCount);
public byte[] ResetEas();
public byte[] ResetToReady();
public byte[] Security(byte firstBlock, byte blockCount);
public byte[] SetEas();
public byte[] Transceive(byte[] data);
public byte[] WriteAfi(byte afi);
public byte[] WriteBlock(byte block, byte[] data);
public byte[] WriteBlocks(byte firstBlock, byte blockCount, byte[] data);
public byte[] WriteDsfid(byte dsfid);
}
public class MifareClassicTag
{
public MifareClassicTag(MifareClassic mifareClassic);
public static int BlockSize { get; }
public int BlockCount { get; }
public int MaxTransceiveLength { get; }
public MifareClassic MifareClassic { get; }
public int SectorCount { get; }
public int Size { get; }
public Tag Tag { get; }
public int Timeout { get; set; }
public MifareClassicType Type { get; }
public string TypeDescription { get; }
public byte[] ReadBlock(int blockIndex);
public byte[][] ReadBlocks();
public byte[] ReadData();
}
public class MifareUltralightTag
{
public MifareUltralightTag(MifareUltralight mifareUltralight);
public static int PageSize { get; }
public int MaxTransceiveLength { get; }
public MifareUltralight MifareUltralight { get; }
public int PageCount { get; }
public Tag Tag { get; }
public int Timeout { get; set; }
public MifareUltralightType Type { get; }
public string TypeDescription { get; }
public byte[] ReadData();
public byte[] ReadPage(int pageOffset);
public byte[][] ReadPages();
public void WritePage(int pageOffset, byte[] data);
public void WritePages(int firstPageOffset, byte[][] data);
}
public class NdefFormatableTag
{
public NdefFormatableTag(NdefFormatable ndefFormatable);
public NdefFormatable NdefFormatable { get; }
public Tag Tag { get; }
public bool Format();
public bool FormatReadOnly();
}
[/b]
[b] Only for V.I.P
Warning! You are not allowed to view this text.