cursor.getColumnIndex(StringToJString(‘ADDRESS’)))); I think you can see a list of all of the columns in this Object Pascal Android interface file:
TJTelephony_TextBasedSmsColumnsMESSAGE_TYPE_ALL = 0;
TJTelephony_TextBasedSmsColumnsMESSAGE_TYPE_INBOX = 1;
TJTelephony_TextBasedSmsColumnsMESSAGE_TYPE_SENT = 2;
TJTelephony_TextBasedSmsColumnsMESSAGE_TYPE_DRAFT = 3;
TJTelephony_TextBasedSmsColumnsMESSAGE_TYPE_OUTBOX = 4;
TJTelephony_TextBasedSmsColumnsMESSAGE_TYPE_FAILED = 5;
TJTelephony_TextBasedSmsColumnsMESSAGE_TYPE_QUEUED = 6;
TJTelephony_TextBasedSmsColumnsTYPE = 'type';
TJTelephony_TextBasedSmsColumnsTHREAD_ID = 'thread_id';
TJTelephony_TextBasedSmsColumnsADDRESS = 'address';
TJTelephony_TextBasedSmsColumnsDATE = 'date';
TJTelephony_TextBasedSmsColumnsDATE_SENT = 'date_sent';
TJTelephony_TextBasedSmsColumnsREAD = 'read';
TJTelephony_TextBasedSmsColumnsSEEN = 'seen';
TJTelephony_TextBasedSmsColumnsSTATUS = 'status';
TJTelephony_TextBasedSmsColumnsSTATUS_NONE = -1;
TJTelephony_TextBasedSmsColumnsSTATUS_COMPLETE = 0;
TJTelephony_TextBasedSmsColumnsSTATUS_PENDING = 32;
TJTelephony_TextBasedSmsColumnsSTATUS_FAILED = 64;
TJTelephony_TextBasedSmsColumnsSUBJECT = 'subject';
TJTelephony_TextBasedSmsColumnsBODY = 'body';
TJTelephony_TextBasedSmsColumnsPERSON = 'person';
TJTelephony_TextBasedSmsColumnsPROTOCOL = 'protocol';
TJTelephony_TextBasedSmsColumnsREPLY_PATH_PRESENT = 'reply_path_present';
TJTelephony_TextBasedSmsColumnsSERVICE_CENTER = 'service_center';
TJTelephony_TextBasedSmsColumnsLOCKED = 'locked';
TJTelephony_TextBasedSmsColumnsERROR_CODE = 'error_code';
Andrey’s blog is in Russian but you should be able to use Google Chrome to translate it to your language.
Head over and check out the full blog post for yourself about how to read SMS messages with Delphi XE6 Firemonkey.
Or download a mirror of the Read SMS demo for Delphi XE6 Firemonkey