SendMultipartTextMessage y monitor enviar y recibir

He leído varios temas sobre cómo enviar y recibir mensajes de varias partes. He implementado el siguiente código y funciona!

PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0); PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0); //---when the SMS has been sent--- registerReceiver(SMSBroadcastReceiver1, new IntentFilter(SENT)); //---when the SMS has been delivered--- registerReceiver(SMSBroadcastReceiver2, new IntentFilter(DELIVERED)); SmsManager smsManager = SmsManager.getDefault(); ArrayList<String> parts = smsManager.divideMessage(smsToSend); ArrayList<PendingIntent> sentList = new ArrayList<PendingIntent>(); ArrayList<PendingIntent> deliveredList = new ArrayList<PendingIntent>(); for (int i = 0; i < parts.size(); i++) { sentList.add(sentPI); deliveredList.add(deliveredPI); } //smsManager.sendTextMessage(phoneNumber, null, smsToSend, sentPI, deliveredPI); smsManager.sendMultipartTextMessage(phoneNumber, null, parts, sentList, deliveredList); 

y tengo una registrada SMSBroadcastReceiver2 y SMSBroadcastReceiver1.

Lo que me preocupa es:

Tengo un único PendingIntent sentPi y deliveredPi , que están registrados con SMSBroadcastReceiver1 y SMSBroadcastReceiver2 .

Y luego los pongo en varias veces de ArrayList, dependiendo de cuánto tiempo es el mensaje.

¿Es esto algo bueno? O debo tener diferentes intentos y receptores para cada parte del mensaje.

También cuando los receptores de fuego en mi código? He notado que sólo se dispara una vez cuando el mensaje se envía y una vez cuando se recibe (i codificados para mostrar mensajes Toast en esos momentos), no importa cuánto tiempo el mensaje es. ¿Es cuando la primera parte es entregada o última …?

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.