es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Salir de la aplicación de Android desde la clase de aplicación (no desde la actividad)

¿Existe alguna forma de salir de una aplicación de Android desde la propia clase Application, incluso antes de inicializar cualquier actividad?

El escenario es que el usuario instala la versión en un dispositivo no compatible, lo cual provoca bloqueos cuando intento cargar una biblioteca de terceros que no está destinada para ese dispositivo.

Esta carga del SDK de terceros ocurre en la clase Application.

¿Es seguro utilizar System.exit(0) en este caso, ya que no puedo llamar a finishAffinity()?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, es posible salir de una aplicación de Android desde la clase Application incluso antes de inicializar cualquier actividad. Sin embargo, no se recomienda utilizar System.exit(0) para terminar forzosamente la aplicación, ya que puede provocar un comportamiento inesperado y no liberar los recursos, lo que puede llevar a la inestabilidad del sistema.

    En su lugar, puedes utilizar Process.killProcess(Process.myPid()) para matar el proceso, lo que terminará la aplicación de manera adecuada y liberará los recursos retenidos. También se recomienda capturar cualquier excepción y manejarla adecuadamente para evitar que la aplicación se bloquee.

    Por lo tanto, en el escenario dado donde un SDK de terceros causa bloqueos en un dispositivo no compatible, es seguro utilizar Process.killProcess(Process.myPid()) en la clase Application para salir de la aplicación de forma adecuada.

Comments are closed.