Sie den Paketnamen für jede bestimmen kann, Activity
kommt durch die Analyse der Android-Logs in den Vordergrund. Wenn Sie beispielsweise Google Maps geöffnet haben, wird dies durch Klicken auf die Schaltfläche "Home" des Geräts im Protokoll angezeigt (normalerweise nach der Zeichenfolge ActivityManager
gefiltert).
START u0 {act=android.intent.action.MAIN cat=[android.intent.category.HOME]
flg=0x10200000 cmp=com.android.launcher/com.android.launcher2.Launcher}
Welche Sie zeigt, dass der Paketname des Startbildschirms Activity
ist com.android.launcher
Allerdings, wenn ich mein Nexus 4 Funktionstaste klicken Sie auf den Lockscreen aus jeder App zu zeigen, zeigt es nie wieder eine Aktivität gestartet wird . Das lässt mich denken, dass es nicht das ist, was wir als typische Activity
verstehen. Wenn Sie die Quelle für KeyguardViewMediator.java des Android-Quellcodes betrachten, finden Sie eine Methode namens private void doKeyguardLocked(Bundle options)
. Ich weiß aus Erfahrung, dass das Ändern der Quelle, um sofort von dieser Methode zurückzukehren, den Lockscreen deaktivieren wird. Die Quelle für KeyguardViewMediator.java
zeigt, dass es in dem Paket com.android.keyguard
ist, und ich glaube, dass dies das Paket ist, das Sie suchen.
Um den Paketnamen dynamisch zu bekommen, scheint es mir nicht möglich. Aber wenn Sie den Paketnamen bereits im Voraus kennen, brauchen Sie ihn nicht dynamisch zu bekommen.
Ich hoffe, das hilft.
Sperrbildschirm Paketname ist: com.android.systemui Wenn Sie etwas auf Sperrbildschirm zeigen möchten, gibt es andere bessere Möglichkeiten, das zu tun. – abhishesh