Ich habe eine Frage zur Verwendung von ADB.So erhalten Sie Extras von derzeit laufenden Aktivitäten über ADB
Ich weiß, dass dieser Befehl:
adb shell dumpsys activity
zeigen kann mir alle Aktivitäten, die zur Zeit auf dem Gerät ausgeführt wird.
Aber ich merke, dass manchmal die Absichten so aussehen:
Intent { ...some_intent/activity_name.... (has extras) }
Ich weiß, dass Extras bedeuten, dass die Aktivität mit irgendeiner Art von Parametern an sie übergeben gestartet wurde (ich kann hier falsch sein, bitte korrigiere mich, wenn ich es bin).
Also meine Frage ist, wie kann ich die Extras der Absicht/Aktivität durch ADB bekommen?
Der Grund, warum ich dies brauche, ist, weil ich versuche, eine apk zu starten durch ADB-Befehl (das am Telefon installiert ist), so etwas wie:
adb shell "su -c 'am start -n com.package.name/.ActivityName'"
, das funktioniert und die Anwendung bringen. Die Anwendung hat einen Startbildschirm (sagen wir nennen es HomeActivity) und Sie müssen auf eine Schaltfläche klicken und einige Auswahl treffen (sagen SelectionActivity) und es wird zu einem anderen Bildschirm gehen (sagen wir ActionActivity). Ich möchte in der Lage sein, die Apk zu starten und es direkt zu ActionActivity zu bringen.
Die Anwendung wird abstürzen, wenn ich versuche, den ActionActivity mit Startbefehl zu starten, ich nehme an, dies ist, weil es Parameter vom SelectionActivity-Bildschirm erfordert.
Aus diesem Grund versuche ich zu sehen, was die „Extras“ oder Parameter sind, die die ActionActivity Bildschirm tatsächlich bekommt, so dass ich so etwas tun kann:
adb shell "su -c 'am start -n com.package.name/.ActionActivity -e param1 val1 -e param2 val2'"
Hoffnung meine Frage klar.
Bitte korrigieren Sie mich, wenn ich irgendwo einen Fehler mache.
Vielen Dank im Voraus!
sehen Sie, wenn diese zu drucken, er lps: [Wie kann ich Parameter an eine Testfunktion übergeben, die mit Hilfe der ADB-Shell gestartet wurde, ist der Instrumentation-Befehl] (http://StackOverflow.com/a/3229077/2558882). – Vikram
Woher wissen Sie, dass nur Extras fehlen? Die erste Aktivität könnte etwas anderes tun. BTW, du brauchst normalerweise nicht 'su', um' am' zu laufen. –
Haben Sie jemals eine Antwort darauf gefunden?Ich versuche genau dasselbe zu tun. –