Evitar que el "proceso de Android" sea un error "incorrecto"

El proceso es un error malo no parece estar muy bien documentado, y sólo he sido capaz de encontrar soluciones. En su lugar estoy interesado en la causa de este error y cómo evitar que suceda, y no cómo manejar manualmente a través de reiniciar, relanzar la aplicación, etc

Mi aplicación particular utiliza un AlarmManager para lanzar un IntentService que se ejecuta para ~ 10s cada ~ 30s. Esto se llama en la creación de la aplicación:

Intent serviceIntent = new Intent(appContext, MyService.class); serviceIntent.putExtra("service_extra", extra); launchService = PendingIntent.getService( appContext, LAUNCH_SERVICE_REQUEST_CODE, scanIntent, PendingIntent.FLAG_UPDATE_CURRENT ); alarmManager.setInexactRepeating( AlarmManager.RTC, System.currentTimeMillis() + interval, interval, launchService ); 

Esto funciona como se esperaba la mayor parte del tiempo. Sin embargo, muy ocasionalmente el servicio no lanzará por un período indefinido, a veces horas a la vez. El siguiente error se ve cada ~ 30s, así que sé que mis alarmas están intentando lanzar el IntentService según lo programado, pero el intento falla con un proceso es error incorrecto.

 Unable to launch app com.example.android/10024 for service Intent { cmp=com.example.android/.MyService (has extras) }: process is bad 

Esto se soluciona simplemente reabriendo la aplicación. ¡Pero necesito saber cómo prevenirlo! El propósito de este servicio es ejecutarse en segundo plano mientras las actividades se detienen o se destruyen, por lo que debe evitar este error sin ninguna interacción del usuario o solución.

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