Como sei quando um aplicativo foi usado no Android?

8

Existe alguma maneira de saber quando um aplicativo estava sendo usado em um telefone Android?

Estou especificamente interessado nas funções de câmera e galeria. Acredito que meu colega de quarto examinou minhas fotos sem perguntar e tentei visualizar o cache do aplicativo Gallery, mas não consigo descobrir como fazê-lo.

Isso está no caminho certo? Ele o utilizou por um intervalo de vinte minutos, e quero ver se a Galeria foi acessada durante esse período de tempo.

youkoshi
fonte

Respostas:

17

O Android permite que as estatísticas de uso sejam vistas na GUI. Aqui está como você pode vê-lo. ( Fonte , por Kevin Swartz)

  1. No seu discador padrão, digite *#*#4636#*#*. Ele abriria uma janela denominada Teste, que é uma sub-configuração do aplicativo Configurações .
  2. Vá para Estatísticas de uso .

    IMG:

    Para pirulito :

    • Classifique o tempo em Classificar por: com base no tempo de uso ou na última vez usado ou no nome do aplicativo .
    • A ordem das entradas é App , Última vez em uso e Tempo de uso .

      (Clique na imagem para ampliar)

      IMG: IMG: IMG:


      Para o Jelly Bean 4.2.1 para Kitkat 4.4.2 :

      • Classifique o tempo em Classificar por: com base no tempo de uso ou na contagem de lançamentos ou no nome do aplicativo .
      • A ordem das entradas é App , Contagem e Tempo de uso .

      (Clique na imagem para ampliar)

      IMG: IMG: IMG:

      O tempo de uso nessas versões do Android é mostrado em milissegundos (ms). Você pode fazer o cálculo sozinho ou experimentar uma ferramenta de conversão como essa para convertê-los instantaneamente em minutos.

Não se esqueça do ADB

Como alternativa, você pode pular diretamente para a janela Estatísticas de uso usando. Digite este comando:

Para pirulito Android:

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

Para o Android 4.2.1 a 4.4.2:

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

Veja esta resposta se você estiver interessado em conhecer o papel dos parâmetros nesses comandos.

Você também pode fazer adb shell dumpsys usagestats( Source , de Jinghao Shi), que para o Android 4.2.1 e 4.4.2 não deu nada mais útil do que o que já foi coberto nas capturas de tela postadas acima para eles.

O Lollipop mostra uma saída mais compreensível do usuário final em comparação com seus antecessores,

Estatísticas diárias na memória
  timeRange = "29/08/2015, 08:34 - 30/08/2015, 1:41" 
    pacotes
      pacote = com.android.documentsui totalTime = "00:07" lastTime = "30/08/2015, 01:35" 
      pacote = com.android.browser totalTime = "00:02" lastTime = "30/08/2015, 01:35" 
      pacote = com.android.camera2 totalTime = "00:05" lastTime = "30/08/2015, 01:37" 
...
...
eventos
      time = "30/08/2015, 01:34" tipo = MOVE_TO_BACKGROUND pacote = classe com.android.deskclock = com.android.deskclock.DeskClock 
      time = "30/08/2015, 01:34" tipo = MOVE_TO_FOREGROUND pacote = classe com.android.dialer = com.android.incallui.InCallActivity 
      time = "30/08/2015, 01:34" tipo = MOVE_TO_FOREGROUND pacote = classe com.android.dialer = com.android.dialer.DialtactsActivity 
...
...
Estatísticas semanais na memória
  timeRange = "27/08/2015, 05:30 - 30/08/2015, 1:41" 
    pacotes
      pacote = com.android.documentsui totalTime = "00:07" lastTime = "30/08/2015, 01:35" 
      pacote = com.android.browser totalTime = "00:02" lastTime = "30/08/2015, 01:35" 
      pacote = com.android.camera2 totalTime = "00:05" lastTime = "30/08/2015, 01:37"
...
...
Estatísticas mensais na memória
  timeRange = "09/08/2015, 08:34 - 30/08/2015, 1:41" 
    pacotes
      pacote = com.android.documentsui totalTime = "00:07" lastTime = "30/08/2015, 01:35" 
      pacote = com.android.browser totalTime = "00:02" lastTime = "30/08/2015, 01:35" 
      pacote = com.android.camera2 totalTime = "00:05" lastTime = "30/08/2015, 01:37"
...
...
Estatísticas anuais na memória
  timeRange = "21/12/2014, 05:30 - 30/08/2015, 1:41" 
    pacotes
      pacote = com.android.documentsui totalTime = "00:07" lastTime = "30/08/2015, 01:35" 
      pacote = com.android.browser totalTime = "00:02" lastTime = "30/08/2015, 01:35" 
      pacote = com.android.camera2 totalTime = "00:05" lastTime = "30/08/2015, 01:37"

Agora você pode navegar na lista para encontrar o aplicativo Câmera e Galeria e ver o valor "última vez usado", para Lollipop, ou seja. Infelizmente, as informações nesta seção não ajudariam os dispositivos executando o antecessor do Lollipop, a menos que o dispositivo esteja enraizado ou você encontre um aplicativo que possa fornecer estatísticas de pacotes.

Além disso, no seu caso particular, todas essas informações seriam úteis apenas se você não tivesse iniciado a Câmera, a Galeria ou um aplicativo em particular de seu interesse depois que seu amigo terminar de usar o telefone, pois o carimbo de data e hora para esse O aplicativo é atualizado para o novo "Última vez em que foi usado", para todas as versões do Android mencionadas.


A seção a seguir funcionaria se o dispositivo estivesse enraizado.


Para Jelly Bean (4.2.1) e Kitkat (4.4.2)

O Android mantém um registro de quando um aplicativo (seu componente) foi usado pela última vez. Você pode /data/system/usagestats/usar um explorador de arquivos com acesso root ou usar.

Haveria um arquivo nomeado usage-history.xmle alguns outros arquivos com convenção de nomenclatura, como usage-YYMMDD:

  • AAAA - Ano
  • MM - Mês
  • DD - Data

Por exemplo, usage-20150729é o arquivo criado em 29 de julho de 2015.

Esse .xmlé um arquivo XML simples, portanto, você poderá visualizá-lo em um editor de texto. Esses usage-YYMMDDsão dataarquivos ( charset=binary) e meu editor de texto Kate não pôde abri-los de forma legível por humanos. No entanto, o cat <FILE>comando faz o trabalho, assim como o aplicativo Android QuickEdit , não completamente, devo adicionar.

O modelo básico de entradas nesse .xmlarquivo é:

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

Por exemplo, estas são as seguintes entradas para o aplicativo 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>

O lrtcontra cada componente ( comp) é a hora do Unix . Para torná-lo legível por humanos, use o Epoch Converter ou qualquer coisa que possa converter o tempo do Unix em tempo legível por humanos.

Por exemplo, 1438134244890é a hora do Unix quando eu acessei a atividade principal do AFWall + (é a visualização padrão) e a hora convertida Wed, 29 Jul 2015 01:44:04 GMTé a correta.

Quanto ao conteúdo usage-YYMMDD, você verá as atividades dos aplicativos que você visitou naquele dia. Não há carimbo de data / hora lá.

Para pirulito

O Lollipop possui alterações consideráveis ​​em relação à coleta de estatísticas de uso de um aplicativo. Veja a nota oficial do Google aqui .

O conceito de usage-history.xmle usage-YYMMDDnão se aplica aqui. Em vez disso, você começa diretórios nomeados daily, monthly, weekly, yearly. Todos eles têm arquivos que você adivinhou certo, com nomes de números, nada além do Unix Time 1440374400000.

Um arquivo típico abaixo dailytem o conteúdo:

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

Agora, isso é realmente a mesma coisa que vimos na usagestatprodução, mas o momento está em sua forma bruta. Não tenho idéia de como entender o tempo aqui e muito menos convertê-lo em forma legível por humanos. Os desenvolvedores devem ser capazes de fazê-lo .

Se você é o que é e como converter ( como usuário final ), informe-me ou poste uma resposta aqui.


Senhor do Fogo
fonte
Você já tentou abrir o arquivo de configuração com o Notepad ++. Eu não tenho raiz, então não posso me controlar.
Sorte
@ Lucky Não experimentou o Windows; usando o Slackware Linux aqui. Você pode tentar abri-lo em seu sistema. Aqui está o arquivo . Parece não conter nenhuma configuração, então eu possivelmente não chamaria isso de arquivo de configuração. :)
Firelord
Pode abrir nos editores Notepadd ++ e Sublime Text. Sublime abre como dados HEX.
Lucky
Você poderia compartilhar uma captura de tela do Notepad ++?
Firelord
11
Veja como fica no Notepad ++ e no Sublime Text
Lucky
1

Se o seu telefone foi usado pela última vez ou se você deseja descobrir aplicativos que são executados / conectados à Internet, como (Navegadores, Clash of Clans etc.), a última atividade usada é registrada sob a minha atividade na sua conta do Google. Você pode descobrir isso visitando https://myactivity.google.com e clique em Android.

Por sorte
fonte