From d32829784a1a7b677b887d02f9c39efbaf0bfe16 Mon Sep 17 00:00:00 2001 From: Mathieu Maret Date: Wed, 11 Sep 2013 15:05:12 +0200 Subject: [PATCH] Get message status for delivery report from pdu --- .../hectorone/multismssender/MessageReceiver.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/com/hectorone/multismssender/MessageReceiver.java b/src/com/hectorone/multismssender/MessageReceiver.java index bb421f5..54233ca 100644 --- a/src/com/hectorone/multismssender/MessageReceiver.java +++ b/src/com/hectorone/multismssender/MessageReceiver.java @@ -5,6 +5,7 @@ import android.content.ContentValues; import android.content.Context; import android.content.Intent; import android.net.Uri; +import android.telephony.SmsMessage; public class MessageReceiver extends BroadcastReceiver{ public static final String MESSAGE_RECEIVED = "com.hectorone.multismssender.SMS_RECEIVED"; @@ -20,9 +21,17 @@ public class MessageReceiver extends BroadcastReceiver{ Uri entryURI = intent.getData(); if (entryURI != null){ - ContentValues values = new ContentValues(1); - values.put(DeliveryDbAdapter.KEY_DELIVERY_ENTRY_DELIVERED, 1); - context.getContentResolver().update(entryURI, values, null, null); + byte[] pdu = intent.getByteArrayExtra("pdu"); + //createFromPdu (byte[] pdu) will be deprecated. + //Use following instead + //String format = intent.getStringExtra("format"); + //SmsMessage message = SmsMessage.createFromPdu(pdu, format); + SmsMessage message = SmsMessage.createFromPdu(pdu); + if(message.getStatus()== 0) { + ContentValues values = new ContentValues(1); + values.put(DeliveryDbAdapter.KEY_DELIVERY_ENTRY_DELIVERED, 1); + context.getContentResolver().update(entryURI, values, null, null); + } } }