Tengo una aplicación de administración de dispositivos, que esencialmente se ejecuta como un servicio en segundo plano desde el inicio. Me gustaría iniciar esta aplicación inmediatamente después de la instalación. ¿Cómo logro esto?Cómo iniciar el servicio de Android en la instalación
Respuesta
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_COMPLETED
Intent
pueda obtener el control.
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á.
- 1. ¿Cómo iniciar automáticamente el servicio en Android?
- 2. ¿Cómo iniciar automáticamente su servicio después de la instalación?
- 3. Iniciar automáticamente un servicio de Windows en la instalación
- 4. Android: iniciar el servicio con el parámetro
- 5. Cómo iniciar automáticamente el servicio de ventana
- 6. Cómo iniciar el servicio en un nuevo hilo en Android
- 7. ¿Cómo iniciar el servicio usando Alarm Manager en Android?
- 8. "No se puede iniciar Intención servicio" error al iniciar el servicio de una actividad en Android
- 9. ¿Cómo iniciar un servicio cuando el dispositivo Android está encendido?
- 10. ¿Cómo iniciar un servicio de Android desde una actividad y detener el servicio en otra actividad?
- 11. Cómo iniciar/iniciar la aplicación en el arranque Android
- 12. Cómo asegurarse de no iniciar un servicio dos veces android
- 13. Android findViewById en el servicio
- 14. Iniciar el servicio desde la notificación
- 15. Cómo iniciar la aplicación después de la instalación con PackageMaker
- 16. iniciar el servicio de Windows desde java
- 17. Cómo iniciar una tarea en segundo plano en el servicio Android
- 18. Android para iniciar la aplicación
- 19. No se puede iniciar el servicio Intención
- 20. Inicie la aplicación Android sin actividad principal e inicie el servicio al iniciar la aplicación
- 21. Android: ¿Detener/Iniciar servicio dependiendo del estado de WiFi?
- 22. Especificar nombre del servicio de Windows en la instalación con la instalación de proyectos
- 23. Iniciar un servicio de la actividad
- 24. Proyecto de instalación del servicio de Windows: ejecute el servicio como administrador
- 25. ¿Cómo iniciar la actividad desde el AppWidget de Android?
- 26. Iniciar el servicio desde el inicio de la aplicación, no la actividad
- 27. Android Bluetooth - Cómo iniciar el emparejamiento
- 28. Windows no puede iniciar el servicio
- 29. Android: iniciar la navegación en el modo de caminar
- 30. bloqueo de la estela de AlarmManager al iniciar un servicio
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. –
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
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