C'è qualche evento/ricevitore o qualcosa per la gestione della prima esecuzione dopo l'installazione o direttamente dopo l'installazione? O ho bisogno di emulare con le preferenze?C'è un evento di installazione in Android?
risposta
C'è l'intento di trasmissione ACTION_PACKAGE_ADDED
, ma l'applicazione che si sta installando non lo riceve.
Quindi controllare se una preferenza è impostata è probabilmente la soluzione più semplice.
SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(this);
boolean firstRun = p.getBoolean(PREFERENCE_FIRST_RUN, true);
p.edit().putBoolean(PREFERENCE_FIRST_RUN, false).commit();
Grazie Un sacco! Stavo cercando questo intento, ho un servizio che deve avere una conoscenza aggiornata dei pacchetti installati ogni secondo, con questo intento posso memorizzarlo finché non si verifica un cambiamento. –
Non penso che ci sia una cosa del genere, e non penso che sarebbe una buona idea: di solito devi gestire non solo le installazioni ma alcuni aggiornamenti (ad esempio: una nuova versione con funzionalità) o il corretta inizializzazione di alcune risorse.
Per le risorse, il modo migliore è verificarle direttamente.
Per la versione, utilizzo il database, è così facile.
Ho dato motivazione (ovvero, una ragione per cui questa sarebbe una buona idea) sopra: http://stackoverflow.com/questions/2227604/is-there-on-install-event-in-android#comment55110087_2227604 – user2768
Il metodo OnUpgrade di SQLiteOpenHelper viene chiamato quando la versione del database è stata modificata. Suppongo che questo potrebbe essere usato per fare altro che gestire il nuovo schema.
Ci scusiamo per la necropostazione, ma credo che ci sia solo la cosa giusta da fare lì: gestire il nuovo schema. Fare riferimento al Principio di Responsabilità individuale di SOLID e al senso comune. Solo nel caso qualcuno lo vedrà. –
Questo verrà chiamato ogni volta che la versione del database cambia, quindi non è un buon posto per farlo. – dramzy
Vedere Get referrer after installing app from Android Market - puoi mettere quello che vuoi lì dentro. Credo che questo sia il modo in cui funziona Plan B - l'app che può rinviare la posizione del telefono dopo che è stata rubata, che si installa dal sito web dopo il è stato rubato.
- 1. Problemi di installazione di Android
- 2. Installazione di Pocketsphinx su Android
- 3. Installazione di R su Android
- 4. Installazione automatica Android
- 5. Installazione libreria Android SlidingMenu
- 6. Come inviare un evento puntatore su Android
- 7. Applicazione Android all'uscita Evento
- 8. Problemi di installazione di NDK per Android
- 9. Installazione di un binario precompilato su Android: "non trovato"
- 10. Installazione di app Android senza scheda SD
- 11. Rileva eliminazione evento tastiera in Android
- 12. coda completa, perdere evento in Emulatore Android
- 13. android: formato EXDATE quando si aggiunge un evento di calendario
- 14. Installazione di Xamarin Mono per Android
- 15. Ottieni le coordinate di un evento touch su Android
- 16. Rapporto di installazione non riuscito per Android
- 17. Studio Android Errore di installazione JDK
- 18. Android Studio nessuna procedura guidata di installazione
- 19. Installazione di Android SDK e AVD Manager
- 20. Creazione guidata installazione su Android
- 21. Google Analytics, Monitoraggio installazione android
- 22. AutoCompleteTextView evento click su Android
- 23. Evento Android lock lock telefono
- 24. Tempo di installazione WIX per sviluppare un programma di installazione
- 25. Evento a lungo contatto Android
- 26. Attivazione di un evento mappa (come un clic su un marker) in Google maps Android V2
- 27. Installazione di Anaconda in un ambiente virtuale
- 28. Installazione di un nuovo JRE in Eclipse
- 29. Creazione di un evento che attiva un secondo evento
- 30. Evento o ascoltatore modificato di orientamento Android
Sto scrivendo un servizio. Non ha una GUI. Come posso programmare il servizio per l'esecuzione giornaliera? (Sembra che non possa, perché sembra che non possa eseguire codice direttamente dopo l'esecuzione.) Sarà installato solo manualmente, quindi potrebbe essere usato adb, ma questo sembra non necessario. – user2768