Buenas:
ese mismo problema tenia yo con una de mis aplicaciones.
Te doy la explicación de porque es y la solución:
Explicación(sencilla y casera XD):
Cuando un dispositivo android se bloque entra en reposo y los procesos son pausados hasta que el móvil se vuelve a desbloquear, por eso te pasa ese problema.
Solucion:
Forzar que el movil no entre en modo reposo.
-Pros: Tu programa funcionara
-Contras: Come mas bateria.
-Consejo: utiliza el codigo abajo dado para que tu coreo se envie y una vez enviado vuelve a dejar el control de energia en modo. Es decir, haz un adquide() y luego cuando acabes haz un release().
Te recomiendo que te pases por la seccion de power manager del android developers para mas información:
http://developer.android.com/referen...erManager.html
codigo:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Tiempo");
wl.acquire();
wl.release();
Espero haberte sido de ayuda, cualquier cosa escríbeme aquí o un privado ;)
Edito: Por cierto, si no es totalmente necesario intenta no utilizar esto, es posible que notes un consumo excesivo de batería Yo no encontré otra solución para mi problema y busque mucho ;)