Intento de Android cuando mi aplicación está instalada

Necesito realizar una acción cuando mi aplicación está instalada. He mirado en el uso

Intent.PACKAGE_ADDED 

Pero no recibo la intención en la aplicación que se está instalando. Quiero ejecutar código cuando mi aplicación se instala por primera vez.

El caso de uso se está registrando con un servicio en línea. Puedo enumerar para BOOT_COMPLETED cuál está muy bien si la aplicación está instalada ya, pero necesito manejar el caso cuando el usuario primero instala la aplicación.

Esta publicación, ¿Se puede ejecutar una intención o una secuencia de comandos cuando la aplicación se instala en Android?

Sugiere escuchar TIMER_TICK y en la primera emisión, realizar el registro y establecer una bandera para no realizarla en el siguiente TIMER_TICK. Esto parece problemático porque si haces algo o no en el receptor, todavía estás comenzando tu receptor cada minuto y usando la batería en el proceso.

¿Hay una mejor solución?

No hay ningún evento confiable que se pueda detectar. Incluso TIMER_TICK sólo funcionará bajo Android 3.1. Desde 3.1. En adelante no podrá recibir transmisiones del sistema hasta que su aplicación esté en estado activo (lo que significa que el usuario debe iniciarlo al menos una vez manualmente) .

Iniciar controles en aplicaciones detenidas

A partir de Android 3.1, el administrador de paquetes del sistema realiza un seguimiento de las aplicaciones que están en un estado detenido y proporciona un medio para controlar su lanzamiento desde los procesos de fondo y otras aplicaciones.

[…]

Tenga en cuenta que el sistema agrega FLAG_EXCLUDE_STOPPED_PACKAGES a todas las intenciones de difusión. Esto lo hace para evitar que las emisiones de los servicios de fondo inicien inadvertidamente o innecesariamente el lanzamiento de componentes de aplicaciones detenidas. [..]

Las aplicaciones se encuentran en un estado detenido cuando se instalan por primera vez pero aún no se inician y cuando son detenidas manualmente por el usuario (en Administrar aplicaciones).

Desde el 3.1. Notas de lanzamiento

Recomiendo que realice su trabajo inicial cuando el usuario inicie su aplicación por primera vez.

Con el nuevo mercado, la intención de INSTALL_REFERRER se activa en el momento del lanzamiento para Android 3.1 y versiones anteriores. Así podemos recibirlo en nuestra aplicación. Sin embargo, todavía se dispara en el momento de la instalación de 2.2 cuando la aplicación está en estado de parada. Así que no puedo recibirlo en caso de Froyo.

Si está dispuesto a asumir que la aplicación Google Android Market está instalada, puede utilizar INSTALL_REFERRER. Consulte Get referrer después de instalar la aplicación de Android Market para obtener más información.

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