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.
- Android: SMSManager - Intento de obtener longitud de matriz nula
- SMS GENERIC FAILURE en teléfonos Dual Sim Android
- SMSManager no funciona en Samsung Galaxy S3 LTE
- SMS Manager envía mensaje mutlipart cuando hay menos de 160 caracteres
- Informe de entrega de Android SmsManger
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 …?
- ¿Cómo puedo enviar mensajes SMS en el BACKGROUND usando Android?
- SMS no recibidos ... sólo en ciertos casos ... Carrier / Country?
- ¿Cómo usar dos emuladores al mismo tiempo en el mismo proyecto en Android Studio?
- Enviar SMS usando SmsManager en android falla en algún dispositivo
- Encontrar datamessage en el teléfono android antes de instalar la aplicación
- Abortar SMS Intent en Android KitKat
- SMS de confirmación no deseados enviados por el proveedor en Austria
- Enviar SMS sin guardarlo en el elemento enviado en kitkat