O Android permite que as estatísticas de uso sejam vistas na GUI. Aqui está como você pode vê-lo. ( Fonte , por Kevin Swartz)
- No seu discador padrão, digite
*#*#4636#*#*
. Ele abriria uma janela denominada Teste, que é uma sub-configuração do aplicativo Configurações .
Vá para Estatísticas de uso .
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)
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)
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 usandoadb. 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 usaradb.
Haveria um arquivo nomeado usage-history.xml
e 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-YYMMDD
são data
arquivos ( 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 .xml
arquivo é:
<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 lrt
contra 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.xml
e usage-YYMMDD
nã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 daily
tem 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 usagestat
produçã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.