Come faccio a sapere quando un'app è stata utilizzata in Android?


8

C'è un modo per sapere quando un'app è stata utilizzata in un telefono Android?

Sono particolarmente interessato alle funzioni della fotocamera e della galleria. Credo che il mio coinquilino abbia esaminato le mie foto senza chiedere, e ho provato a visualizzare la cache per l'app Galleria ma non riesco a capire come farlo.

È anche sulla strada giusta? L'ha avuto per un intervallo di venti minuti e voglio vedere se la Galleria è stata raggiunta durante quel periodo di tempo.

Risposte:


17

Android consente di visualizzare le statistiche di utilizzo dalla GUI. Ecco come puoi vederlo. ( Fonte , di Kevin Swartz)

  1. Nel dialer predefinito, digitare *#*#4636#*#*. Si aprirà una finestra denominata Test, che è un'impostazione secondaria dell'app Impostazioni .
  2. Vai a Statistiche di utilizzo .

    IMG:

    Per Lecca - lecca :

    • Ordina l'ora in Ordina per: in base all'ora di utilizzo o all'ultima volta utilizzata o al nome dell'app .
    • L'ordine delle voci è App , Ultima volta utilizzata e Ora di utilizzo .

      (Clicca sull'immagine per ingrandire)

      IMG: IMG: IMG:


      Per Jelly Bean 4.2.1 a Kitkat 4.4.2 :

      • Ordina l'ora in Ordina per: in base al tempo di utilizzo o al conteggio di lancio o al nome dell'app .
      • L'ordine delle voci è App , conteggio e tempo di utilizzo .

      (Clicca sull'immagine per ingrandire)

      IMG: IMG: IMG:

      Il tempo di utilizzo in queste versioni di Android è mostrato in millisecondi (ms). Puoi fare calcoli da solo o provare uno strumento di conversione come questo per convertirli istantaneamente in minuti.

Non dimenticare ADB

In alternativa, puoi passare direttamente alla finestra Statistiche di utilizzo utilizzando. Inserisci questo comando:

Per Android Lollipop:

   adb shell am start -n com.android.settings/.UsageStatsActivity

Per Android da 4.2.1 a 4.4.2:

   adb shell am start -n com.android.settings/.UsageStats

Vedi questa risposta se sei interessato a conoscere il ruolo dei parametri in quei comandi.

Puoi anche fare adb shell dumpsys usagestats( Fonte , di Jinghao Shi) che per Android 4.2.1 e 4.4.2 non ha dato nulla di più utile di quello già trattato negli screenshot pubblicati sopra per loro.

Lollipop mostra un output più comprensibile per l'utente finale rispetto ai suoi predecessori,

Statistiche giornaliere in memoria
  timeRange = "29/08/2015, 8:34 â 30/30/2015, 1:41" 
    pacchi
      pacchetto = com.android.documentsui totalTime = "00:07" lastTime = "30/08/2015, 1:35 AM" 
      pacchetto = com.android.browser totalTime = "00:02" lastTime = "30/08/2015, 1:35 AM" 
      pacchetto = com.android.camera2 totalTime = "00:05" lastTime = "30/08/2015, 1:37 AM" 
...
...
eventi
      time = "30/08/2015, 1:34 AM" type = MOVE_TO_BACKGROUND pacchetto = com.android.deskclock class = com.android.deskclock.DeskClock 
      time = "30/08/2015, 1:34 AM" type = MOVE_TO_FOREGROUND pacchetto = com.android.dialer class = com.android.incallui.InCallActivity 
      time = "30/08/2015, 1:34 AM" type = MOVE_TO_FOREGROUND pacchetto = com.android.dialer class = com.android.dialer.DialtactsActivity 
...
...
Statistiche settimanali in memoria
  timeRange = "27/08/2015, 5:30 - 30/08/2015, 1:41" 
    pacchi
      pacchetto = com.android.documentsui totalTime = "00:07" lastTime = "30/08/2015, 1:35 AM" 
      pacchetto = com.android.browser totalTime = "00:02" lastTime = "30/08/2015, 1:35 AM" 
      pacchetto = com.android.camera2 totalTime = "00:05" lastTime = "30/08/2015, 1:37 AM"
...
...
Statistiche mensili in memoria
  timeRange = "09/08/2015, 8:34 â 30/8/2015, 1:41" 
    pacchi
      pacchetto = com.android.documentsui totalTime = "00:07" lastTime = "30/08/2015, 1:35 AM" 
      pacchetto = com.android.browser totalTime = "00:02" lastTime = "30/08/2015, 1:35 AM" 
      pacchetto = com.android.camera2 totalTime = "00:05" lastTime = "30/08/2015, 1:37 AM"
...
...
Statistiche annuali in memoria
  timeRange = "21/12/2014, 5:30 - 30/08/2015, 1:41" 
    pacchi
      pacchetto = com.android.documentsui totalTime = "00:07" lastTime = "30/08/2015, 1:35 AM" 
      pacchetto = com.android.browser totalTime = "00:02" lastTime = "30/08/2015, 1:35 AM" 
      pacchetto = com.android.camera2 totalTime = "00:05" lastTime = "30/08/2015, 1:37 AM"

Ora puoi sfogliare l'elenco per trovare l'app Fotocamera e Galleria e vedere il loro valore "usato l'ultima volta", per Lollipop. Sfortunatamente, le informazioni in questa sezione non aiuterebbero i dispositivi che eseguono il predecessore di Lollipop, a meno che il dispositivo non sia rootato o non trovi un'app che può darti statistiche sui pacchetti.

Inoltre, nel tuo caso particolare, tutte queste informazioni sarebbero utili solo se non avessi avviato la Fotocamera, la Galleria o una particolare app di tuo interesse dopo che il tuo amico aveva finito di usare il telefono, dal momento che l'app viene aggiornata alla nuova "Ultima volta utilizzata", per tutte le versioni di Android che ho citato.


La sezione seguente funzionerebbe se il dispositivo è rootato.


Da Jelly Bean (4.2.1) a Kitkat (4.4.2)

Android tiene traccia di quando è stata utilizzata l'ultima volta un'app (il suo componente). È possibile /data/system/usagestats/utilizzare un esploratore di file con accesso root o utilizzare.

Ci sarebbe un file chiamato usage-history.xmle alcuni altri file con convenzione di denominazione come usage-YYMMDDdove:

  • AAAA - Anno
  • MM - Mese
  • GG - Data

Ad esempio, usage-20150729il file è stato creato il 29 luglio 2015.

Questo .xmlè un semplice file XML, quindi dovresti essere in grado di visualizzarlo in un editor di testo. Questi usage-YYMMDDsono datafiles ( charset=binary) e il mio editor di testo Kate non è riuscito ad aprirli in forma leggibile dall'uomo. Tuttavia, il cat <FILE>comando fa il lavoro, così come l'app Android QuickEdit , non completamente dovrei aggiungere.

Il modello base di voci in quel .xmlfile è:

<pkg name="">
  <comp name="" />
  <comp name="" />
  ...
  <comp name="" />
</pkg>

Ad esempio, queste sono le seguenti voci per l' app AFWall + :

<pkg name="dev.ukanth.ufirewall">
  <comp name="dev.ukanth.ufirewall.MainActivity" lrt="1438134244890" />
  <comp name="dev.ukanth.ufirewall.widget.ToggleWidgetOldActivity" lrt="1435337932669" />
  <comp name="dev.ukanth.ufirewall.HelpActivity" lrt="1416601650972" />
  ...
</pkg>

Il lrtcontro ogni componente ( comp) è il tempo Unix . Per renderlo leggibile dall'uomo, usa Epoch Converter o qualsiasi cosa in grado di convertire il tempo Unix in tempo leggibile dall'uomo.

Ad esempio 1438134244890è l'ora di Unix in cui ho effettuato l'accesso all'attività principale di AFWall + (è la visualizzazione predefinita) e l'ora convertita Wed, 29 Jul 2015 01:44:04 GMTè corretta.

Per quanto riguarda il contenuto usage-YYMMDD, vedrai le attività delle app che hai visitato quel giorno. Non c'è timestamp lì.

Per Lecca-lecca

Lollipop presenta notevoli modifiche per quanto riguarda la raccolta di statistiche sull'utilizzo di un'app. Vedi la nota ufficiale di Google qui .

Il concetto di usage-history.xmle usage-YYMMDDnon si applica qui. Invece, si ottiene directory chiamate daily, monthly, weekly, yearly. Tutti hanno file che hai indovinato, con nomi numerici, nient'altro che Unix Time 1440374400000.

Un file tipico in dailyha il contenuto:

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<usagestats version="1" endTime="66355190">
    <packages>
        <package lastTimeActive="66153798" package="com.android.providers.media" timeActive="2974" lastEvent="2" />
        <package lastTimeActive="66329769" package="net.dinglisch.android.taskerm" timeActive="64172" lastEvent="2" />
        <package lastTimeActive="66150806" package="android" timeActive="1942" lastEvent="2" />
...
...
    <event-log>
        <event time="43080692" package="android" type="5" fs="1065353216" mcc="404" mnc="97" />
        <event time="43087204" package="com.android.launcher3" class="com.android.launcher3.Launcher" type="2" />
        <event time="43087329" package="com.android.settings" class="com.android.settings.Settings" type="1" />

Ora questa è in realtà la stessa cosa che abbiamo visto usagestatnell'output, ma i tempi sono nella sua forma grezza. Non ho idea di come capire il tempo qui e tanto meno di convertirlo in una forma leggibile dall'uomo. Gli sviluppatori dovrebbero essere in grado di farlo .

Se sei di cosa si tratta e come convertire ( come utente finale ), per favore fatemelo sapere o pubblica una risposta qui.



Hai provato ad aprire il file di configurazione con Notepad ++. Non ho root, quindi non riesco a controllarmi.
Lucky

@Lucky Non ho provato Windows; usando Slackware Linux qui. Puoi provare ad aprirlo nel tuo sistema. Ecco il file . Non sembra contenere alcuna configurazione, quindi probabilmente non lo definirei un file di configurazione. :)
Firelord

Potrebbe aprire in Notepadd ++ e editor di testo sublime. Sublime lo apre come dati HEX.
Lucky

Potresti condividere uno screenshot per Notepad ++?
Firelord

1
Ecco come appare in Notepad ++ e Sublime Text
Lucky

1

Se il tuo telefono è stato utilizzato l'ultima volta o se vuoi scoprire app che funzionano / sono connesse su Internet come (Browser, Clash of Clans ecc.), L'ultima attività utilizzata viene registrata sotto la mia attività nel tuo account Google. Puoi scoprirlo visitando https://myactivity.google.com e facendo clic su Android.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.