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.