2010-01-24 12 views

Respuesta

47

No puede hacer esto, no hay forma de iniciar automáticamente su servicio simplemente porque fue instalado.

La aplicación debe ser invocada primero por el usuario a través de algún tipo de actividad. O bien, deberá enganchar en alguna difusión relevante Intent a través del manifiesto, para que pueda obtener el control cuando ocurra uno de esos eventos y poner en marcha su servicio de esa manera. O bien, tendrá que pedirle al usuario que se reinicie para que su filtro BOOT_COMPLETEDIntent pueda obtener el control.

+0

Gracias, sospeché que este podría ser el caso. Parece un poco un descuido dado lo bien pensado que está el sistema operativo en general. –

+0

Es una cuestión de seguridad, por lo que yo entiendo. Definitivamente no es un descuido, ya que el equipo principal de Android ha comentado sobre esta solicitud varias veces en el pasado. – CommonsWare

+4

Sí, es deliberado. La instalación de la aplicación se realiza automáticamente en segundo plano cuando se descarga la aplicación. Preferimos que no se ejecute ningún código de la aplicación hasta que el usuario acceda de manera explícita a la aplicación la primera vez. (Y por favor, no le diga al usuario que reinicie su dispositivo. No hay necesidad de eso. Solo déjelos ejecutar su aplicación y hacer su inicialización cuando se ejecute por primera vez). – hackbod

9

Hubo un agujero - el SDK de Android Analytics utilizado para enviar un intento justo después de la instalación - pero se cerró (produciendo mucha confusión, por supuesto).

Pero la respuesta final, creo, es aquí:

http://developer.android.com/about/versions/android-3.1.html#launchcontrols

Esto parece sugerir que, a partir de 3.1, Google tomó la decisión de que las aplicaciones están en un estado detenido hasta que el usuario activa de forma explícita ellos, por ejemplo iniciando la aplicación o colocando el widget.

Esto significa que la estrategia de escuchar una transmisión común (es decir, para que la aplicación se lance subrepticiamente) tampoco funcionará.

Cuestiones relacionadas