9 votes

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

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

Je m'intéresse spécifiquement aux fonctions appareil photo et galerie. Je pense que mon colocataire a regardé mes photos sans me demander la permission, et j'ai essayé de vérifier le cache de l'application Galerie mais je n'arrive pas à comprendre comment le faire.

Suis-je sur la bonne voie? Il l'avait pour une période de vingt minutes, et je veux voir si la Galerie a été consultée pendant cette période de temps.

18voto

Firelord Points 23064

Android permet de voir les statistiques d'utilisation à partir de l'interface graphique. Voici comment vous pouvez les voir. ( Fuente par Kevin Swartz)

  1. Dans votre composeur par défaut, tapez *#*#4636#*#* . Cela ouvrirait une fenêtre nommée Essais qui est un sous-ensemble de Ajustes app.
  2. Aller à Statistiques d'utilisation .

    IMG:

    Pour Lollipop :

    • Trier le temps en Trier par : sur la base de Temps d'utilisation o Dernière utilisation o Nom de l'application .
    • L'ordre des entrées est le suivant App , Dernière utilisation y Temps d'utilisation .

      (Cliquez sur l'image pour l'agrandir)

      IMG: IMG: IMG:

      Pour Jelly Bean 4.2.1 à Kitkat 4.4.2 :

      • Trier le temps en Trier par : sur la base de Temps d'utilisation o Nombre de lancements o Nom de l'application .
      • L'ordre des entrées est le suivant App , Comte y Temps d'utilisation .

      (Cliquez sur l'image pour l'agrandir)

      IMG: IMG: IMG:

      Le temps d'utilisation dans ces versions d'Android est indiqué en millisecondes (ms). Vous pouvez faire le calcul par vous-même, ou essayer un outil de conversion comme este pour les convertir instantanément en minutes.

N'oubliez pas l'ADB

Vous pouvez également passer directement à l'étape Statistiques d'utilisation fenêtre en utilisant adb . 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

Voir 本答 si vous souhaitez connaître le rôle des paramètres dans ces commandes.

Vous pouvez également faire adb shell dumpsys usagestats ( Fuente par Jinghao Shi) qui pour Android 4.2.1 et 4.4.2 n'a rien donné de plus utile que ce qui est déjà couvert dans les captures d'écran postées ci-dessus pour eux.

Lollipop présente un résultat plus compréhensible pour l'utilisateur final par rapport à ses prédécesseurs,

In-memory daily stats
  timeRange="8/29/2015, 8:34 AM â 8/30/2015, 1:41 AM" 
    packages
      package=com.android.documentsui totalTime="00:07" lastTime="8/30/2015, 1:35 AM" 
      package=com.android.browser totalTime="00:02" lastTime="8/30/2015, 1:35 AM" 
      package=com.android.camera2 totalTime="00:05" lastTime="8/30/2015, 1:37 AM" 
...
...
events
      time="8/30/2015, 1:34 AM" type=MOVE\_TO\_BACKGROUND package=com.android.deskclock class=com.android.deskclock.DeskClock 
      time="8/30/2015, 1:34 AM" type=MOVE\_TO\_FOREGROUND package=com.android.dialer class=com.android.incallui.InCallActivity 
      time="8/30/2015, 1:34 AM" type=MOVE\_TO\_FOREGROUND package=com.android.dialer class=com.android.dialer.DialtactsActivity 
...
...
In-memory weekly stats
  timeRange="8/27/2015, 5:30 AM â 8/30/2015, 1:41 AM" 
    packages
      package=com.android.documentsui totalTime="00:07" lastTime="8/30/2015, 1:35 AM" 
      package=com.android.browser totalTime="00:02" lastTime="8/30/2015, 1:35 AM" 
      package=com.android.camera2 totalTime="00:05" lastTime="8/30/2015, 1:37 AM"
...
...
In-memory monthly stats
  timeRange="8/9/2015, 8:34 AM â 8/30/2015, 1:41 AM" 
    packages
      package=com.android.documentsui totalTime="00:07" lastTime="8/30/2015, 1:35 AM" 
      package=com.android.browser totalTime="00:02" lastTime="8/30/2015, 1:35 AM" 
      package=com.android.camera2 totalTime="00:05" lastTime="8/30/2015, 1:37 AM"
...
...
In-memory yearly stats
  timeRange="12/21/2014, 5:30 AM â 8/30/2015, 1:41 AM" 
    packages
      package=com.android.documentsui totalTime="00:07" lastTime="8/30/2015, 1:35 AM" 
      package=com.android.browser totalTime="00:02" lastTime="8/30/2015, 1:35 AM" 
      package=com.android.camera2 totalTime="00:05" lastTime="8/30/2015, 1:37 AM"

Vous pouvez maintenant parcourir la liste pour trouver les applications Appareil photo et Galerie, et voir leur valeur de "dernière utilisation", pour Lollipop, bien sûr. Malheureusement, les informations de cette section ne sont pas utiles pour les appareils fonctionnant avec les prédécesseurs de Lollipop, à moins que l'appareil ne soit enraciné ou que vous trouviez une application qui puisse vous donner des statistiques sur les paquets.

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


La section suivante fonctionne si l'appareil est enraciné.


Pour Jelly Bean (4.2.1) à Kitkat (4.4.2)

Android conserve un journal de la dernière utilisation d'une application (de son composant). Vous pouvez vous rendre dans /data/system/usagestats/ en utilisant un explorateur de fichiers avec accès Root ou en utilisant adb .

Il y aurait un fichier nommé usage-history.xml et d'autres fichiers dont la convention d'appellation est la suivante usage-YYMMDD où :

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

Par exemple usage-20150729 est le fichier créé le 29 juillet 2015.

Ce .xml est un fichier XML simple, vous devriez donc pouvoir le visualiser dans un éditeur de texte. Ces usage-YYMMDD sont data fichiers ( charset=binary ) et mon éditeur de texte Kate n'a pas pu les ouvrir en format lisible par l'homme. Cependant, cat <FILE> fait le travail, de sorte que l'application Android QuickEdit pas complètement, devrais-je ajouter.

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

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

Par exemple, il s'agit des entrées suivantes pour la rubrique AFWall+ app :

<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>

El lrt contre chaque composant ( comp ) est le Temps Unix . Pour le rendre lisible par l'homme, utilisez Convertisseur d'époque ou tout ce qui peut convertir l'heure Unix en heure lisible par l'homme.

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

Quant au contenu de usage-YYMMDD vous verrez les activités des applications que vous avez visitées ce jour-là. Il n'y a pas d'horodatage.

Pour Lollipop

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

Le concept de usage-history.xml y usage-YYMMDD ne s'applique pas ici. Au lieu de cela, vous obtenez des répertoires nommés daily , monthly , weekly , yearly . Tous ont des fichiers qui, vous l'avez deviné, ont des noms numériques, rien d'autre que du temps Unix comme 1440374400000 .

Un fichier typique sous daily a 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 ce que nous avons vu dans usagestat mais le timing est dans sa forme brute. Je n'ai aucune idée de comment comprendre le temps ici et encore moins de comment le convertir en une forme lisible par l'homme. Les développeurs devraient être en mesure de le faire .

Si vous savez ce que c'est et comment le convertir ( en tant qu'utilisateur final ), merci de me le faire savoir ou de poster une réponse ici.


0 votes

Avez-vous essayé d'ouvrir le fichier de configuration avec Notepad++ ? Je n'ai pas d'accès root donc je ne peux pas vérifier moi-même.

0 votes

@Chanceux Je n'ai pas essayé Windows; j'utilise Slackware Linux ici. Vous pouvez essayer de l'ouvrir sur votre système. Voici le fichier. Il ne semble pas contenir de configuration, donc je ne l'appellerais probablement pas un fichier de configuration. :)

0 votes

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

2voto

Lucky Points 3245

Si votre téléphone a été utilisé récemment ou si vous souhaitez savoir quelles applications sont en cours d'exécution/connectées à Internet (comme les navigateurs, Clash of Clans, etc.), la dernière activité utilisée est enregistrée dans mon activité sur votre compte Google. Vous pouvez le découvrir en visitant https://myactivity.google.com et en cliquant sur Android.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X