Wie erhalte ich den aktuellen (Vordergrund-) Aktivitätsnamen?

Hallo! Ich versuche, mit "Automatisieren" einen automatischen Nachtmodus für mein Telefon einzurichten, kann aber bestimmte App-Aktivitäten nicht finden. Wie erfahre ich, welche Aktivitäten gerade im Vordergrund ausgeführt werden, damit ich sie starten kann?

Berechtigte Frage, aber Sie möchten wahrscheinlich bearbeiten, um sicherzustellen, dass sie nicht vom Thema abweicht. (Lassen Sie mich das dieses Mal für Sie tun, ich hoffe, ich habe es richtig verstanden) // Ohne Bezug: Dieses "hoi" klingt sehr nach Temmie.
Vergessen hinzuzufügen: Fühlen Sie sich frei, oben zu bearbeiten oder sogar ein Rollback durchzuführen, wenn ich es falsch ausgedrückt habe - es ist schließlich Ihr Beitrag.

Antworten (2)

Verwenden von Apps: Aktuelle Aktivität und einige ähnliche Apps zeigen die Informationen in Form von schwebenden Texten über dem Bildschirminhalt an.

Verwenden adb(von Ihrem PC): dumpsys window windows | grep -E 'mCurrentFocus', oder dumpsys activity top(für vollständige Informationen für Entwickler)

Hinweis: Es istadb shell ...

Um die Antwort von @ AndyYan zu ergänzen, können Sie auch eine Terminal-Emulator-App verwenden, wenn Sie keinen Computer haben, aber über Root-Rechte verfügen. Führen Sie in diesem Fall suzuerst aus. Um die fokussierte Aktivität zu löschen, lautet der Befehl

dumpsys activity activities | grep mFocusedActivity

Der Befehl, wenn er z. B. vom Terminal Emulator ausgeführt wird , gibt die folgende Ausgabe aus:

  mFocusedActivity: ActivityRecord{415c7ae u0 jackpal.androidterm/.Term t96}

Der obige Befehl zeigt jedoch, wie Andy betonte, lediglich die eigene Aktivität des Terminals. Um genügend Zeit zum Öffnen der App zu haben, die Sie untersuchen möchten, müssen Sie jedoch voranstellen

sleep <seconds> && 

vor dem eigentlichen dumpsysBefehl <seconds>durch die Anzahl der Sekunden ersetzen, die die Shell warten soll. Ein Beispiel für einen vollständigen Befehl wird daher ähnlich aussehen

sleep 10 && dumpsys activity activities | grep mFocusedActivity

Öffnen Sie nach dem Ausführen des Befehls die App, die Sie untersuchen möchten, und lassen Sie sie für die von Ihnen angegebene Anzahl von Sekunden im Vordergrund. Sobald die Zeit verstrichen ist, meldet die Shell den Namen der Aktivität.


Ich bin nicht Mitglied der oben genannten App.

@AndyYan Wer hat gesagt, dass sie das nicht können? Es ist nur eine Frage des Hinzufügens sleep x && davor dumpsys(x muss durch die Anzahl der Sekunden ersetzt werden, die das Terminal warten kann), damit man die App öffnen kann, die man untersuchen muss, und das Terminal den Rest erledigen lässt. Ich werde dies später zur Antwort hinzufügen.
(facepalm) Offensichtlich bin ich kein Terminal-Guru ...
@AndyYan Ich auch nicht. iBug ist derjenige.