Come monitorare l'utilizzo di applicazioni in Android? Come rilevare quando viene triggersta un'attività?

Ho bisogno di monitorare l'utilizzo di applicazioni in Android come appUsage (ad esempio, il numero di tracce dell'app lancia e il tempo impiegato per ciascuno). Quello che intendo fare è registrare l'ora di inizio quando viene lanciata un'applicazione e quindi get l'ora di fine quando un'applicazione viene interrotta o arrestata. In LogCat, sono in grado di vedere i registri dell'avvio dell'attività. Ho esaminato le trasmissioni disponibili del sistema, non so se c'è qualcosa che trasmetta each qualvolta un'attività è stata avviata. . In pratica, come faccio a rilevare quando viene triggersta un'attività?

Modifica: Inoltre, Android dispone anche di un sistema di statistiche sull'utilizzo disponibile internamente che può essere trovato nell'apparecchiatura Ricambi o quando viene selezionato *#*#4636#*#* (Testing -> Statistiche di utilizzo)

  • Come mostrare sempre il menu di overflow (ActionBar) anche se il telefono dispone del button del menu hardware?
  • Android OpenGL ES 2.0 visualizza le coordinate delle coordinate del mondo
  • Come caricare la string html in un webview?
  • Infinite "Scegli un account" quando utilizzi l'API Google Drive
  • Multi app flavor basata sulla libreria multi flavor in Android Gradle
  • Android - aggiunta di AppWidgets a un'attività
  • 2 Solutions collect form web for “Come monitorare l'utilizzo di applicazioni in Android? Come rilevare quando viene triggersta un'attività?”

    Ora possiamo accedere alla cronologia di utilizzo di un'applicazione su un dispositivo Android con la nuova API di android.app.usage rilasciata come parte delle API di Android 5.0. Il sistema raccoglie i dati di utilizzo su base app per aggregazione, aggregando i dati giornalmente, settimanalmente, mensilmente , e gli intervalli annuali

    Per each applicazione, il sistema registra i seguenti dati:

    L'ultima volta che l'applicazione è stata utilizzata La lunghezza totale del tempo in cui l'applicazione era in primo piano per quel intervallo di tempo (giorno, settimana, mese o anno) Timestamp che cattura quando un componente (identificato da un pacchetto e un nome di attività) primo piano o background durante un giorno Timestamp che cattura quando una configuration del dispositivo è cambiata (ad esempio quando l'orientamento del dispositivo è cambiato a causa della rotazione)

    Refr: http://developer.android.com/reference/android/app/usage/package-summary.html

    In pratica, come faccio a rilevare quando viene triggersta un'attività?

    Non lo fai. Non c'è nulla nel SDK di Android per "l'ora di inizio quando viene avviata un'applicazione", né "l'ora di fine quando un'applicazione viene interrotta o arrestata".

    Quello che l'app che citate è probabilmente fare è sprecare un sacco di tempo CPU, RAM e durata della batteria, polling ActivityManager continuamente.

    Tenga presente che ciò che si propone di tenere traccia, se si prevede di avere qualcuno che non l'utente l'accesso, confini le violazioni della privacy del tipo che ha ottenuto CarrierIQ in una gran quantità di problemi.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.