El servicio androide deja de funcionar después de que la aplicación no esté en uso por un tiempo

Tengo un servicio para mi aplicación que funciona bien, pero cuando un usuario no está usando allí para el teléfono mientras 20 minutos el servicio simplemente no funciona más. Hay algo que supongo estar haciendo como salvar un estado o algo, estoy perdido en este punto. No veo por qué el servicio sigue funcionando, me veo en la aplicación de servicios de ejecución en mi teléfono y todavía dice su funcionamiento. ¿Alguna sugerencia?

Me enfrenté al mismo problema pocas veces atrás. Entonces comencé a usar el servicio de alarma de Android. Eso resolvió mi problema. Aquí hay un enlace de referencia http://android-er.blogspot.com/2010/10/simple-example-of-alarm-service-using.html

Si desea seguir corriendo en segundo plano (por ejemplo, descargar algo), necesita agarrar un wakelock (http://developer.android.com/reference/android/os/PowerManager.html)

También, mira lo siguiente si sucede a hacer descargas en el fondo: http://developer.android.com/reference/android/net/ConnectivityManager.html#getBackgroundDataSetting ()

El comportamiento de este Android de que Un Servicio tiene una vida máxima de 20 minutos. Después de 20 minutos, el sistema operativo Android lo matará automáticamente. Pero creo que hay una solución. No lo he probado todavía. La solución es: En su onStartCommand (), ponga este código al final de este método return START_STICKY;

Puede utilizar el receptor de difusión en lugar de utilizarlo como servicio. Y se puede llamar igual que Servicio con administrador de alarmas. Receptor:

 public class CallListReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, "Call List receiver called", Toast.LENGTH_LONG) .show(); } } 

Puede llamar continuamente usando:

 public void startAlert(Context context) { Intent call_intent = new Intent(this, CallListReceiver.class); PendingIntent pendingCallIntent = PendingIntent.getBroadcast(context, 0, call_intent, 0); AlarmManager call_alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); call_alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), (7 * 1000), pendingCallIntent); } 
  • Paho MQTT Android Service Issue
  • Uso de GoogleApiClient en un servicio
  • El sensor del acelerómetro causa pérdidas en un servicio
  • Excepción de ventana filtrada aunque no se utilice ningún servicio
  • Las preferencias compartidas a veces se eliminan
  • Android Service nunca parece iniciar - onStartCommand () no se llama
  • Appcelerator Android Service detiene las paradas
  • Android: ¿Cómo ejecutar el servicio cuando la aplicación es visible?
  • Vinculación / desvinculación a un servicio en una aplicación
  • Devoluciones de llamadas del servicio remoto de Android
  • Hacer que la actividad se ejecute en segundo plano
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.