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