Pode ser ainda melhor se você usaradb shell dumpsys activity activities
insone
3
Esta é uma boa informação. Alguns aplicativos possuem janelas pop-up. Como você pode saber se uma janela pop-up está no topo?
Empario
201
Eu prefiro analisar resultados de dumpsys window windowslongodumpsys activity
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
Keyguard ou lista de tarefas recentes costumava não aparecer como Activities, mas você conseguia vê-las com mCurrentFocus. Eu expliquei o porquê nesta resposta .
$ adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp' mCurrentFocus= mFocusedApp=AppWindowToken{40b11d40 token=HistoryRecord{ }} O foco atual está vazio. Qualquer ideia? Meu dispositivo está conectado, o aplicativo está em execução, é o dispositivo 2.3
Gokhan Arik
1
é assim que posso descobrir qual aplicativo está exibindo anúncios aleatoriamente sem minha permissão! obrigado!
CuongDC de
adb shell "dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'"
Qamar
3
Isso não parece funcionar no Android 29, pois nenhum desses campos agora aparece no dump da janela
No entanto, para encontrar o ID do processo (por exemplo, para encerrar a atividade atual), use dumpsys activitye execute o grep na "atividade principal":
Para qualquer outra pessoa que queira fazer isso de um terminal no dispositivo (ou seja, com o Terminal Emulator ou Automagic), dumpsys activity recents | grep "Recent #0"obterá a linha de saída com o nome da atividade mais recente. (Tem que ser feito como root.)
Michael Hoffmann
1
Erro:find: No such file or directory
IgorGanapolsky
3
Aqui está uma solução que é mais fácil do que a solução adb de linha de comando (que funciona). É mais fácil porque é mais gráfico e pode ser feito de dentro do Eclipse.
No Eclipse com dispositivo Android conectado, vá para o menu Janela> Mostrar Visualização> Outro ... use o texto de filtro "Windows" para abrir o Android> Windows ... mostre isso. O primeiro item da lista é a atividade atual.
Outra maneira de fazer isso é mostrando a perspectiva "Visualização de hierarquia", que por padrão mostrará a janela do Windows.
O comando abaixo pode ser usado para localizar o pacote e o nome da atividade atual. Achei este comando muito útil para buscar rapidamente essas duas informações sobre um aplicativo, especialmente ao desenvolver testes com Appium.
adb shell dumpsys window windows | grep -E 'mCurrentFocus'
A resposta deste comando contém o nome do pacote e a atividade atual. Por exemplo: no seguinte "com.android.contacts" está o pacote e "com.android.contacts.activities.TwelveKeyDialer" é a atividade atual lançada no telefone que está conectado via adb.
this.getClass().getSimpleName()
Respostas:
Você pode usar este comando,
Você pode encontrar o nome da atividade atual na pilha de atividades.
Resultado :-
fonte
adb shell dumpsys activity activities
Eu prefiro analisar resultados de
dumpsys window windows
longodumpsys activity
Keyguard ou lista de tarefas recentes costumava não aparecer como Activities, mas você conseguia vê-las com
mCurrentFocus
. Eu expliquei o porquê nesta resposta .fonte
$ adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp' mCurrentFocus= mFocusedApp=AppWindowToken{40b11d40 token=HistoryRecord{ }}
O foco atual está vazio. Qualquer ideia? Meu dispositivo está conectado, o aplicativo está em execução, é o dispositivo 2.3adb shell "dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'"
dumpsys window windows
dá mais detalhes sobre a atividade atual:No entanto, para encontrar o ID do processo (por exemplo, para encerrar a atividade atual), use
dumpsys activity
e execute o grep na "atividade principal":fonte
O Android Q quebrou a maioria deles para mim. Aqui está um novo que parece estar funcionando (pelo menos no Android Q).
A saída se parece com:
fonte
adb shell 'dumpsys activity activities | grep ResumedActivity'
Isso funciona para mim:
adb shell dumpsys activity
E isso para mostrar o nome da atividade atual:
adb shell dumpsys activity activities | grep mFocusedActivity | cut -d . -f 5 | cut -d ' ' -f 1
fonte
Se quiser filtrar apenas as atividades do seu aplicativo em execução / pausadas, você pode usar este comando:
Por exemplo:
A saída será algo como:
Observe que a saída mostra a pilha real de atividades, ou seja, a atividade superior é aquela que está sendo exibida no momento.
fonte
Respostas antigas pararam de funcionar em novas versões do Android. Agora eu uso o seguinte:
fonte
Você pode tentar este comando,
Lá você pode encontrar o nome da atividade atual na pilha de atividades.
Para obter o nome da atividade mais recente:
fonte
dumpsys activity recents | grep "Recent #0"
obterá a linha de saída com o nome da atividade mais recente. (Tem que ser feito como root.)find: No such file or directory
Aqui está uma solução que é mais fácil do que a solução adb de linha de comando (que funciona). É mais fácil porque é mais gráfico e pode ser feito de dentro do Eclipse.
No Eclipse com dispositivo Android conectado, vá para o menu Janela> Mostrar Visualização> Outro ... use o texto de filtro "Windows" para abrir o Android> Windows ... mostre isso. O primeiro item da lista é a atividade atual.
Outra maneira de fazer isso é mostrando a perspectiva "Visualização de hierarquia", que por padrão mostrará a janela do Windows.
fonte
O comando abaixo pode ser usado para localizar o pacote e o nome da atividade atual. Achei este comando muito útil para buscar rapidamente essas duas informações sobre um aplicativo, especialmente ao desenvolver testes com Appium.
A resposta deste comando contém o nome do pacote e a atividade atual. Por exemplo: no seguinte "com.android.contacts" está o pacote e "com.android.contacts.activities.TwelveKeyDialer" é a atividade atual lançada no telefone que está conectado via adb.
Referência: http://www.automationtestinghub.com/apppackage-and-appactivity-name/
fonte
No Windows, este comando funciona para mim para mostrar o nome da atividade atual
Resultado:
Outras soluções com "agarrar" produzem erro no meu pc windows
Então, usando "find" resolva o erro no meu caso.
fonte