Comment savoir quand une application a été utilisée sur Android?


8

Existe-t-il un moyen de savoir quand une application était utilisée sur un téléphone Android?

Je m'intéresse particulièrement aux fonctions de caméra et de galerie. Je crois que mon colocataire a parcouru mes photos sans demander, et j'ai essayé d'afficher le cache de l'application Galerie, mais je n'arrive pas à comprendre comment le faire.

Est-ce même sur la bonne voie? Il l'a eu pendant un intervalle de vingt minutes, et je veux voir si la galerie a été accessible pendant cette période.

Réponses:


17

Android permet aux statistiques d'utilisation d'être vues depuis l'interface graphique. Voici comment vous pouvez le voir. ( Source , par Kevin Swartz)

  1. Dans votre numéroteur par défaut, tapez *#*#4636#*#*. Cela ouvrirait une fenêtre nommée Testing, qui est un sous-paramètre de l' application Paramètres .
  2. Accédez aux statistiques d'utilisation .

    IMG:

    Pour Lollipop :

    • Triez l'heure dans Trier par: en fonction du temps d'utilisation ou de la dernière utilisation ou du nom de l'application .
    • L'ordre des entrées est App , Dernière utilisation et Durée d'utilisation .

      (Cliquez sur l'image pour agrandir)

      IMG: IMG: IMG:


      Pour Jelly Bean 4.2.1 à Kitkat 4.4.2 :

      • Triez l'heure dans Trier par: en fonction du temps d'utilisation ou du nombre de lancements ou du nom de l'application .
      • L'ordre des entrées sont App , comte , et le temps d'utilisation .

      (Cliquez sur l'image pour agrandir)

      IMG: IMG: IMG:

      Le temps d'utilisation dans ces versions d'Android est affiché en millisecondes (ms). Vous pouvez faire vos propres calculs ou essayer un outil de conversion comme celui-ci pour les convertir instantanément en minutes.

N'oubliez pas ADB

Vous pouvez également accéder directement à la fenêtre Statistiques d'utilisation à l' aide de. Entrez cette commande:

Pour Android Lollipop:

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

Pour Android 4.2.1 à 4.4.2:

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

Consultez cette réponse si vous souhaitez connaître le rôle des paramètres dans ces commandes.

Vous pouvez également faire adb shell dumpsys usagestats( Source , par Jinghao Shi) qui pour Android 4.2.1 et 4.4.2 ne donne rien de plus utile que déjà couvert dans les captures d'écran publiées ci-dessus pour eux.

Lollipop affiche une sortie plus compréhensible pour l'utilisateur final par rapport à ses prédécesseurs,

Statistiques quotidiennes en mémoire
  timeRange = "29/08/2015, 08h34 à 30/08/2015, 01h41" 
    paquets
      package = com.android.documentsui totalTime = "00:07" lastTime = "30/08/2015, 01:35" 
      package = com.android.browser totalTime = "00:02" lastTime = "30/08/2015, 01:35" 
      package = com.android.camera2 totalTime = "00:05" lastTime = "30/08/2015, 01:37" 
...
...
événements
      time = "30/08/2015, 1:34 AM" type = MOVE_TO_BACKGROUND package = com.android.deskclock class = com.android.deskclock.DeskClock 
      time = "30/08/2015, 1:34 AM" type = MOVE_TO_FOREGROUND package = com.android.dialer class = com.android.incallui.InCallActivity 
      time = "30/08/2015, 1:34 AM" type = MOVE_TO_FOREGROUND package = com.android.dialer class = com.android.dialer.DialtactsActivity 
...
...
Statistiques hebdomadaires en mémoire
  timeRange = "27/08/2015, 5h30 à 30/08/2015, 01h41" 
    paquets
      package = com.android.documentsui totalTime = "00:07" lastTime = "30/08/2015, 01:35" 
      package = com.android.browser totalTime = "00:02" lastTime = "30/08/2015, 01:35" 
      package = com.android.camera2 totalTime = "00:05" lastTime = "30/08/2015, 01:37"
...
...
Statistiques mensuelles en mémoire
  timeRange = "09/08/2015, 08h34 à 30/08/2015, 01h41" 
    paquets
      package = com.android.documentsui totalTime = "00:07" lastTime = "30/08/2015, 01:35" 
      package = com.android.browser totalTime = "00:02" lastTime = "30/08/2015, 01:35" 
      package = com.android.camera2 totalTime = "00:05" lastTime = "30/08/2015, 01:37"
...
...
Statistiques annuelles en mémoire
  timeRange = "21/12/2014, 5h30 à 30/08/2015, 1h41" 
    paquets
      package = com.android.documentsui totalTime = "00:07" lastTime = "30/08/2015, 01:35" 
      package = com.android.browser totalTime = "00:02" lastTime = "30/08/2015, 01:35" 
      package = com.android.camera2 totalTime = "00:05" lastTime = "30/08/2015, 01:37"

Vous pouvez maintenant parcourir la liste pour trouver l'application Appareil photo et galerie, et voir leur valeur "dernière utilisation", pour Lollipop, c'est-à-dire. Malheureusement, les informations de cette section n'aideraient pas les appareils exécutant le prédécesseur de Lollipop, sauf si l'appareil est enraciné, ou si vous trouvez une application qui peut vous fournir des statistiques de package.

De plus, dans votre cas particulier, toutes ces informations ne seraient utiles que si vous n'avez pas lancé l'appareil photo, la galerie ou une application particulière de votre intérêt après que votre ami a fini d'utiliser le téléphone, car l'horodatage de cette l'application est mise à jour vers la nouvelle "Dernière utilisation", pour toutes les versions d'Android que j'ai mentionnées.


La section suivante fonctionnerait si le périphérique est enraciné.


Pour Jelly Bean (4.2.1) à Kitkat (4.4.2)

Android conserve un journal de la dernière utilisation d'une application (son composant). Vous pouvez vous diriger vers l' /data/system/usagestats/utilisation d'un explorateur de fichiers avec un accès root , ou en utilisant.

Il y aurait un fichier nommé usage-history.xmlet quelques autres fichiers avec une convention de dénomination comme usage-YYMMDDoù:

  • AAAA - Année
  • MM - Mois
  • DD - Date

Par exemple, usage-20150729le fichier a été créé le 29 juillet 2015.

Il .xmls'agit d'un fichier XML brut, vous devriez donc pouvoir le visualiser dans un éditeur de texte. Ce usage-YYMMDDsont des datafichiers ( charset=binary) et mon éditeur de texte Kate n'a pas pu les ouvrir sous une forme lisible par l'homme. Cependant, la cat <FILE>commande fait le travail, donc comme l'application Android QuickEdit , pas complètement, je devrais ajouter.

Le modèle de base des entrées de ce .xmlfichier est:

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

Par exemple, ce sont les entrées suivantes pour l' application 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>

Le lrtcontre chaque composant ( comp) est le temps Unix . Pour le rendre lisible par l'homme, utilisez Epoch Converter ou tout ce qui peut convertir le temps Unix en temps lisible par l'homme.

Par exemple, 1438134244890l'heure Unix lorsque j'ai accédé à l'activité principale d'AFWall + (c'est la vue par défaut) et l'heure convertie est Wed, 29 Jul 2015 01:44:04 GMT, ce qui est correct.

En ce qui concerne le contenu usage-YYMMDD, vous verrez les activités des applications que vous avez visitées ce jour-là. Il n'y a pas d'horodatage là-bas.

Pour sucette

Lollipop a des changements considérables en ce qui concerne la collecte de statistiques d'utilisation d'une application. Voir la note officielle de Google ici .

Le concept de usage-history.xmlet usage-YYMMDDne s'applique pas ici. Au lieu de cela, vous obtenez des répertoires nommés daily, monthly, weekly, yearly. Tous ont des fichiers que vous avez bien devinés, ayant des noms numériques, rien que Unix Time 1440374400000.

Un fichier typique sous dailya le contenu:

<?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" />

Maintenant, c'est en fait la même chose que nous avons vu dans usagestatla sortie de mais le timing est dans sa forme brute. Je ne sais pas comment comprendre le temps ici et encore moins le convertir en une forme lisible par l'homme. Les développeurs devraient pouvoir le faire .

Si vous savez ce que c'est et comment convertir (en tant qu'utilisateur final ), faites-le moi savoir ou postez une réponse ici.



Avez-vous essayé d'ouvrir le fichier de configuration avec Notepad ++. Je n'ai pas de racine donc je ne peux pas me vérifier.
Lucky

@Lucky n'a pas essayé Windows; en utilisant Slackware Linux ici. Vous pouvez essayer de l'ouvrir dans votre système. Voici le dossier . Il ne semble pas contenir de configuration, donc je ne l'appellerais probablement pas un fichier de configuration. :)
Firelord

Pourrait s'ouvrir dans les éditeurs Notepadd ++ et Sublime Text. Sublime l'ouvre en tant que données HEX.
Lucky

Pourriez-vous s'il vous plaît partager une capture d'écran pour Notepad ++?
Firelord

1
Voici à quoi cela ressemble dans Notepad ++ et Sublime Text
Lucky

1

Si votre téléphone a été utilisé pour la dernière fois ou si vous souhaitez découvrir des applications qui fonctionnent / se connectent sur Internet comme (Navigateurs, Clash of Clans, etc.), la dernière activité utilisée est enregistrée sous l'activité Mon dans votre compte Google. Vous pouvez le découvrir en visitant https://myactivity.google.com et en cliquant sur Android.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.