![]() |
NFC / NDEF Library for Proximity APIs
4.1.0
Easily parse and create NDEF records with the Windows Proximity APIs / Near Field Communication NFC.
|
Convenience class for formatting SMS information into an NDEF record, depending on added info either URI or Smart Poster. More...
Public Member Functions | |
| NdefSmsRecord () | |
| Create an empty Sms record. You need to set the number and body to create a URI and make this record valid. More... | |
| NdefSmsRecord (NdefRecord other) | |
| Create a SMS record based on another SMS record, or Smart Poster / URI record that have a Uri set that corresponds to the sms: URI scheme. More... | |
| override bool | CheckIfValid () |
| Checks if the contents of the record are valid; throws an exception if a problem is found, containing a textual description of the issue. More... | |
Public Member Functions inherited from NdefLibrary.Ndef.NdefSmartUriRecord | |
| NdefSmartUriRecord () | |
| Create an empty Smart Uri Record. More... | |
| NdefSmartUriRecord (NdefRecord other) | |
| Create a Smart Uri record based on the record passed through the argument. More... | |
Public Member Functions inherited from NdefLibrary.Ndef.NdefSpRecord | |
| NdefSpRecord () | |
| Create an empty Smart Poster (Sp) record. More... | |
| NdefSpRecord (NdefRecord other) | |
| Create a Smart Poster record based on the record passed through the argument. More... | |
| void | SetPayloadAndParse (byte[] payload, bool parseNewPayload) |
| Sets the payload of the base class to the byte array from the parameter and optionally parses its contents. More... | |
| bool | HasSpData () |
| Returns true if this record contains data that requires a Smart Poster and could not be stored in a simple URI record. More... | |
| override bool | CheckIfValid () |
| Checks if the contents of the record are valid; throws an exception if a problem is found, containing a textual description of the issue. More... | |
| void | SetUri (NdefUriRecord newUri) |
| Set the URI based on another URI record instead of specifying the URI itself. More... | |
| void | AddTitle (NdefTextRecord newTitle) |
| Add an (optional) title to the Smart Poster. More... | |
| int | TitleCount () |
| Returns how many title text records are stored in the Smart Poster. More... | |
| NdefTextRecord | Title (int index) |
| Retrieve a specific title text record from the list. More... | |
| bool | ActionInUse () |
| Returns if the action has been defined for this Smart Poster instance. More... | |
| bool | SizeInUse () |
| Returns if the size has been defined for this Smart Poster instance. More... | |
| bool | MimeTypeInUse () |
| Returns if the mime type has been defined for this Smart Poster instance. More... | |
| bool | ImageInUse () |
| Returns if the Smart Poster contains an image (not supported yet). More... | |
Public Member Functions inherited from NdefLibrary.Ndef.NdefRecord | |
| NdefRecord () | |
| Create an empty record, not setting any information. More... | |
| NdefRecord (TypeNameFormatType tnf, byte[] type) | |
| Create a new record with the specified type name format and type. Doesn't set the payload and ID. More... | |
| NdefRecord (NdefRecord other) | |
| Create a new record, copying the information of the record sent through the parameter. More... | |
| Type | CheckSpecializedType (bool checkForSubtypes) |
| Checks the type name format and type of this record and returns the appropriate specialized class, if one is available and known for this record type. More... | |
Static Public Member Functions | |
| static new bool | IsRecordType (NdefRecord record) |
| Checks if the record sent via the parameter is indeed an Sms record. Checks the type and type name format and if the URI starts with the correct scheme. More... | |
Static Public Member Functions inherited from NdefLibrary.Ndef.NdefSpRecord | |
| static bool | IsRecordType (NdefRecord record) |
| Checks if the record sent via the parameter is indeed a Smart Poster. Only checks the type and type name format, doesn't analyze if the payload is valid. More... | |
Properties | |
| string | SmsBody [get, set] |
| The body of the SMS message. More... | |
| string | SmsNumber [get, set] |
| The number the reading phone is supposed to send the short message to. Recommended to store in international format, e.g., +431234... More... | |
Properties inherited from NdefLibrary.Ndef.NdefSmartUriRecord | |
| override byte [] | Type [get] |
| An identifier describing the type of the payload. Override to return correct type depending on data stored - either U(RI) or Sp (Smart Poster). More... | |
| override byte [] | Payload [get] |
| The application data carried within an NDEF record. More... | |
Properties inherited from NdefLibrary.Ndef.NdefSpRecord | |
| string | Uri [get, set] |
| Mandatory URI of the Smart Poster More... | |
| List< NdefTextRecord > | Titles [get] |
| List of all title texts for different languages used in the Smart Poster. More... | |
| NdefSpActRecord.NfcActionType | NfcAction [get, set] |
| The action defines how the reader should handle the Smart Poster record. More... | |
| uint | NfcSize [get, set] |
| Size of the linked content. More... | |
| string | NfcMimeType [get, set] |
| MIME type of the linked object. More... | |
| NdefMimeImageRecordBase | NfcImage [get, set] |
| Icon / Image data contained in the Smart Poster. More... | |
Properties inherited from NdefLibrary.Ndef.NdefRecord | |
| TypeNameFormatType | TypeNameFormat [get, set] |
| Indicates the structure of the value of the TYPE field. More... | |
| virtual byte [] | Type [get, set] |
| An identifier describing the type of the payload. More... | |
| byte [] | Id [get, set] |
| An identifier in the form of a URI reference. More... | |
| virtual byte [] | Payload [get, set] |
| The application data carried within an NDEF record. More... | |
Additional Inherited Members | |
Public Types inherited from NdefLibrary.Ndef.NdefRecord | |
| enum | TypeNameFormatType { TypeNameFormatType.Empty = 0x00, TypeNameFormatType.NfcRtd = 0x01, TypeNameFormatType.Mime = 0x02, TypeNameFormatType.Uri = 0x03, TypeNameFormatType.ExternalRtd = 0x04, TypeNameFormatType.Unknown = 0x05, TypeNameFormatType.Unchanged = 0x06, TypeNameFormatType.Reserved = 0x07 } |
| Standardized type name formats, as defined by the NDEF record specification from the Nfc Forum. More... | |
Static Public Attributes inherited from NdefLibrary.Ndef.NdefSpRecord | |
| static readonly byte [] | SmartPosterType = { (byte)'S', (byte)'p' } |
| Type of the NDEF Smart Poster record (well-known, type 'Sp'). More... | |
Protected Attributes inherited from NdefLibrary.Ndef.NdefSpRecord | |
| NdefUriRecord | RecordUri |
| URI sub-record of this Smart Poster. Use Uri property to access if possible. More... | |
Protected Attributes inherited from NdefLibrary.Ndef.NdefRecord | |
| byte [] | _type |
| Byte array storing raw contents of the type. Use Type property to access it whenever possible. More... | |
| byte [] | _payload |
| Byte array storing raw contents of the payload. Use Payload property to access it whenever possible. More... | |
Convenience class for formatting SMS information into an NDEF record, depending on added info either URI or Smart Poster.
Tapping a tag with SMS information stored on it should trigger a dialog in the phone to send the proposed SMS. This can for example be used to interact with information services that then reply by sending more info per SMS, or for payment services that send a premium SMS to purchase items or content.
Add the recipient number and the SMS message body to the class, which takes care of properly encoding the information into the correct URI.
As this class is based on the Smart URI base class, the payload is formatted as a URI record initially. When first adding Smart Poster information (like a title), the payload instantly transforms into a Smart Poster.
| NdefLibrary.Ndef.NdefSmsRecord.NdefSmsRecord | ( | ) |
Create an empty Sms record. You need to set the number and body to create a URI and make this record valid.
| NdefLibrary.Ndef.NdefSmsRecord.NdefSmsRecord | ( | NdefRecord | other | ) |
Create a SMS record based on another SMS record, or Smart Poster / URI record that have a Uri set that corresponds to the sms: URI scheme.
| other | Other record to copy the data from. |
|
virtual |
Checks if the contents of the record are valid; throws an exception if a problem is found, containing a textual description of the issue.
| NdefException | Thrown if no valid NDEF record can be created based on the record's current contents. The exception message contains further details about the issue. |
Reimplemented from NdefLibrary.Ndef.NdefRecord.
|
static |
Checks if the record sent via the parameter is indeed an Sms record. Checks the type and type name format and if the URI starts with the correct scheme.
| record | Record to check. |
|
getset |
The body of the SMS message.
Note: the URI content has to be encoded in UTF-8, which should be done by the URI class. No further transformation is necessary for the SMS use case (e.g., to 7-bit US-ASCII, as would be recommended for Internet URLs). This class will take care of Uri Escaping the body text through System.Uri.EscapeDataString().
|
getset |
The number the reading phone is supposed to send the short message to. Recommended to store in international format, e.g., +431234...
1.8.13