Desarrollé códigos para enviar SMS a más de una persona. Pero el problema actual es que no puedo saber qué persona recibió el mensaje y cuál envió. Quiero saber cada uno de los estados de SMS enviados y el número de teléfono del receptor, ¿se puede hacer?¿Cómo controlar cada uno de los estados de SMS enviados?
Respuesta
Aquí está el fragmento de código que está buscando ...
//---sends an SMS message to another device---
private void sendSMS(String phoneNumber, String message)
{
String SENT = "SMS_SENT";
String DELIVERED = "SMS_DELIVERED";
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(new BroadcastReceiver(){
@Override
public void onReceive(Context arg0, Intent arg1) {
switch (getResultCode())
{
case Activity.RESULT_OK:
Toast.makeText(getBaseContext(), "SMS sent",
Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
Toast.makeText(getBaseContext(), "Generic failure",
Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_NO_SERVICE:
Toast.makeText(getBaseContext(), "No service",
Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_NULL_PDU:
Toast.makeText(getBaseContext(), "Null PDU",
Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_RADIO_OFF:
Toast.makeText(getBaseContext(), "Radio off",
Toast.LENGTH_SHORT).show();
break;
}
}
}, new IntentFilter(SENT));
//---when the SMS has been delivered---
registerReceiver(new BroadcastReceiver(){
@Override
public void onReceive(Context arg0, Intent arg1) {
switch (getResultCode())
{
case Activity.RESULT_OK:
Toast.makeText(getBaseContext(), "SMS delivered",
Toast.LENGTH_SHORT).show();
break;
case Activity.RESULT_CANCELED:
Toast.makeText(getBaseContext(), "SMS not delivered",
Toast.LENGTH_SHORT).show();
break;
}
}
}, new IntentFilter(DELIVERED));
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
}
También recomendaría este sitio web. .. http://mobiforge.com/developing/story/sms-messaging-android –
si está enviando múltiples sms en un bucle al mismo tiempo, ¿cómo identifica a qué SMS pertenece la transmisión? ¿Cuál es el identificador único? –
No está en getResultData()/getResultExtras() ... –
- 1. Android: ¿Recibe todos los sms enviados? (bandeja de salida)
- 2. ¿Cómo cada uno de los hashmap?
- 3. Receptor de difusión de Android para mensajes SMS enviados?
- 4. Limitaciones en los mensajes SMS enviados usando correo electrónico gratuito-> pasarelas SMS
- 5. Los datos de Android SMS enviados entre dos emuladores se truncaron en tránsito
- 6. ¿Cómo se modelan los estados de aplicación?
- 7. Contenido de Android SMS (contenido: // sms/enviado)
- 8. Cómo seleccionar varios nodos en uno para cada uno XSLT
- 9. Jquery cada uno() Contador
- 10. ¿Cómo mostrar cada div, uno por uno en jquery?
- 11. Si los estados
- 12. Cómo ver los encabezados enviados por HttpWebRequest
- 13. validar al menos uno de cada has_and_belongs_to_many
- 14. ¿Cada uno para el objeto?
- 15. ¿Cómo podría uno "describir git" cada confirmación?
- 16. cómo hacer jQuery cada uno un número
- 17. ¿Cómo controlar el volumen de los medios?
- 18. Reemplazando jQuery cada uno por
- 19. ¿Cómo controlar los procesos pasajero/mod_rails?
- 20. Cómo ejecutar una función jQuery después de ejecutar todos y cada uno de los javascript
- 21. ¿Cómo analizar los SMS entrantes en Android?
- 22. TriState Casilla - cómo cambiar el orden de los estados
- 23. PHP Envío de correos masivos: ¿uno para cada uno o uno para todos?
- 24. ¿Cómo funcionan realmente los eventos enviados por el servidor?
- 25. límite de resultados de cada uno en handlebars.js
- 26. Cómo crear una máquina de estados simple en Java
- 27. Contador automático en Ruby para cada uno?
- 28. ¿Dónde se almacenan los datos enviados por UDP?
- 29. Ruby: capturando todos los métodos enviados a un objeto
- 30. ¿Qué significa cada uno en JavaScript?
tiene alguna solución? – Hunt
Implementé esto con éxito en mi aplicación. Por favor revise - http://stackoverflow.com/questions/16388236/not-able-to-pass-retrieve-extras-inside-broadcast-receptor – mboy