¿Hay algún evento/receptor o algo para manejar la primera ejecución después de la instalación o directamente después de la instalación? ¿O lo necesito emular con preferencias?¿Hay un evento de instalación en Android?
Respuesta
Existe el intento de difusión ACTION_PACKAGE_ADDED
, pero la aplicación que se está instalando no recibe esto.
Por lo tanto, comprobar si se establece una preferencia es probablemente la solución más fácil.
SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(this);
boolean firstRun = p.getBoolean(PREFERENCE_FIRST_RUN, true);
p.edit().putBoolean(PREFERENCE_FIRST_RUN, false).commit();
Gracias ¡mucho! Estaba buscando esa intención, tengo un servicio que debe tener conocimiento actualizado de los paquetes instalados cada segundo, con esta intención puedo guardarlo en caché hasta que ocurra un cambio. –
No creo que exista tal cosa, y no creo que sea una buena idea: generalmente debe manejar no solo instalaciones sino algunas actualizaciones (por ejemplo, una nueva versión con características) o inicialización adecuada de algunos recursos.
Para los recursos, la mejor manera es verificarlos directamente.
Para la versión, uso la base de datos, es muy fácil.
He dado motivación (es decir, una razón por la cual esta sería una buena idea) más arriba: http://stackoverflow.com/questions/2227604/is-there-on-install-event-in-android#comment55110087_2227604 – user2768
Se llama al método OnUpgrade de SQLiteOpenHelper cuando se cambia la versión de la base de datos. Supongo que esto podría usarse para hacer otras cosas aparte de manejar el nuevo esquema.
Lo siento por necroposting, pero creo que solo hay algo apropiado que hacer allí: manejar el nuevo esquema. Refiriéndose al Principio de Responsibilidad Única de SOLID y al sentido común. Solo en caso de que alguien lo vea. –
Esto se invocará cada vez que cambie la versión de la base de datos, por lo que no es un buen lugar para hacerlo. – dramzy
Ver Get referrer after installing app from Android Market - puede poner lo que quiera allí. Creo que así es como funciona Plan B: la aplicación que puede devolver la ubicación de su teléfono una vez que se la han robado, que usted instala desde el sitio web después de ha sido robada.
- 1. Instalación silenciosa en dispositivos Android
- 2. ¿Hay un evento de desinstalación JNLP?
- 3. Instalación de compiladores C/C++ en Android
- 4. Problemas de instalación de Android
- 5. Instalación de un binario precompilado en Android: "no encontrado"
- 6. ¿Hay un evento activado cuando dte.Solution.SolutionBuild.StartupProjects cambia?
- 7. No hay un evento de timbre en las llamadas entrantes
- 8. ASP.NET: compruebe si hay un evento de clic en page_load
- 9. Hay un evento de desplazamiento vertical en jQuery
- 10. AutoCompleteTextView evento click en Android
- 11. ¿Hay algún evento onDocumentChange?
- 12. Android SimpleOnGestureListener.onFling obteniendo un evento nulo MotionEvent
- 13. Instalación de Xamarin Mono para Android
- 14. Obtener las coordenadas de un evento táctil en Android
- 15. Cómo enviar un evento de puntero en Android
- 16. Evento de animación final android
- 17. ¿Hay un evento "Todos los niños cargados" en WPF
- 18. Obtener fecha de instalación de la aplicación en Android
- 19. Instalación de Android SDK y AVD Manager
- 20. Evento de doble clic en android
- 21. ¿Hay algún evento "en el cambio DOM"?
- 22. Android Maps: Error de instalación: INSTALL_FAILED_MISSING_SHARED_LIBRARY
- 23. ¿Hay un evento de carga para los elementos de entrada?
- 24. Instalación de módulos Perl en sistema operativo Android
- 25. Evento de contacto prolongado de Android
- 26. ¿Hay alguna manera de que un evento de inicio táctil no active el evento click?
- 27. sensor de luz Android no evento desencadenante
- 28. ¿Hay un evento DOM "contenido de texbox cambiado"?
- 29. epoll_wait con un evento no-IO, no hay señales de
- 30. JS ¿Hay alguna manera de verificar si existe un evento?
Estoy escribiendo un servicio. No tiene GUI. ¿Cómo puedo programar el servicio para que se ejecute diariamente? (Parece que no puedo, porque parece que no puedo ejecutar código directamente después de la ejecución.) Solo se instalará manualmente, por lo que se podría usar adb, pero esto parece innecesario. – user2768