BroadcastReceiver para SMS com várias partes

Preciso armazenar sms em um banco de dados sqlite quando receber um. Neste momento, ele funciona bem com sms (160 caracteres), mas se eu receber um sms de várias partes, ele truncará o sms em cerca de 155 caractere

Este é o meu código:

SmsBR.java

public class SmsBR extends BroadcastReceiver {
    private DBManager dbm;
        @Override
        public void onReceive(Context context, Intent intent) {
                    Bundle bundle = intent.getExtras();
                    if (bundle != null) {
                        Object[] pdus = (Object[])bundle.get("pdus");
                        final SmsMessage[] messages = new SmsMessage[pdus.length];
                        for (int i = 0; i < pdus.length; i++) {
                            messages[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
                        }
                        if (messages.length > 0) {
                            dbm=DBManager.getDBM(null);
                            dbm.insertSMS(messages[0]);
                                                   }}}}

@DBManager é uma classe singleton que escrevi para simplificar as operações de leitura / gravação e tenho certeza de que não há nenhum problema com textos longo

questionAnswers(2)

yourAnswerToTheQuestion