Привет! Я пытаюсь включить автоматический ночной режим для своего телефона с помощью «Автоматизация», но не могу найти определенные действия в приложении. Как мне узнать, какие действия выполняются на переднем плане в данный момент, чтобы я мог их запустить?
Использование приложений: Текущая активность и некоторые подобные приложения будут отображать информацию в виде плавающих текстов над содержимым экрана.
Используя adb
(с вашего ПК): dumpsys window windows | grep -E 'mCurrentFocus'
, или dumpsys activity top
(для полной информации, предназначенной для разработчиков)
adb shell ...
Чтобы добавить к ответу @AndyYan, вы также можете использовать приложение эмулятора терминала, если у вас нет компьютера, но есть привилегии root. В этом случае выполните su
сначала. Затем, чтобы сбросить сфокусированную активность, команда
dumpsys activity activities | grep mFocusedActivity
Команда, если, например, выполняется из эмулятора терминала , дает следующий вывод:
mFocusedActivity: ActivityRecord{415c7ae u0 jackpal.androidterm/.Term t96}
Однако приведенная выше команда, как указал Энди, просто показывает собственную активность Терминала. Однако, чтобы дать себе достаточно времени, чтобы открыть приложение, которое вы хотите исследовать, вам нужно добавить
sleep <seconds> &&
перед фактической dumpsys
командой, заменив <seconds>
на количество секунд, в течение которых оболочка должна ждать. Таким образом, пример полной команды будет напоминать
sleep 10 && dumpsys activity activities | grep mFocusedActivity
После выполнения команды откройте приложение, которое вы хотите исследовать, и держите его на переднем плане в течение указанного вами количества секунд. По истечении времени оболочка сообщит имя активности.
Я не связан с вышеупомянутым приложением.
sleep x &&
before dumpsys
(x должен быть заменен на количество секунд, которое может ждать терминал), чтобы можно было открыть приложение, которое нужно исследовать, и позволить терминалу обработать все остальное. Я добавлю это к ответу позже.
Энди Ян
Энди Ян