Delphi XE6 for Android – how to intercept incoming SMS [closed]

  

I’m writing an android app with Delphi XE6 to intercept incoming SMS.
I follow the Java sample http://delphi-android.blogspot.dk/2013/10/how-to-fetch-sms-messages-from-android.html

My problem, is that I don’t know how to manage PDUS record in Delphi, exactly I don’t know how to convert (from Java to Delphi) PDUS record (follow Java code)

Object[] pdus = (Object[]) bundle.get(“pdus”);

in an array of byte (follow Java code):

msgs = new SmsMessage[pdus.length];
for(int i=0; i<msgs.length; i++)
{
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);

Follow the full sample Java.

if(intent.getAction().equals(“android.provider.Telephony.SMS_RECEIVED”))
{
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
String msg_from;
if (bundle != null)
{
//—retrieve the SMS message received—
try
{
Object[] pdus = (Object[]) bundle.get(“pdus”);
msgs = new SmsMessage[pdus.length];
for(int i=0; i<msgs.length; i++)
{
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
msg_from = msgs[i].getOriginatingAddress();
String msgBody = msgs[i].getMessageBody();
}
}
}
}

Thanks.

Comments are closed.