Vous pouvez déterminer le nom du package pour tout Activity
qui vient au premier plan en analysant les journaux Android. Par exemple, si vous avez ouvert Google Maps, cliquez sur le bouton Accueil de l'appareil pour l'afficher dans le journal (je filtre généralement par la chaîne ActivityManager
).
START u0 {act=android.intent.action.MAIN cat=[android.intent.category.HOME]
flg=0x10200000 cmp=com.android.launcher/com.android.launcher2.Launcher}
Ce qui montre que le nom du package de l'écran d'accueil Activity
est com.android.launcher
Cependant, lorsque je clique sur mon Nexus 4 bouton d'accueil pour afficher l'écran de verrouillage de toute application, il ne montre jamais une autre activité en cours de lancement . Cela me fait penser que ce n'est pas ce que nous entendons par Activity
.
Si vous regardez la source pour KeyguardViewMediator.java le code source Android, vous trouverez une méthode nommée private void doKeyguardLocked(Bundle options)
. Je sais par expérience que changer la source pour retourner immédiatement à partir de cette méthode désactivera le lockscreen. La source pour KeyguardViewMediator.java
montre que c'est dans le paquet com.android.keyguard
, et je crois que c'est le paquet que vous recherchez. En ce qui concerne l'obtention dynamique du nom du paquet, cela ne me semble pas possible. Mais, si vous connaissez déjà le nom du paquet à l'avance, il n'est pas nécessaire de l'obtenir de manière dynamique.
J'espère que cela aide.
Le nom du package de l'écran de verrouillage est: com.android.systemui Si vous souhaitez afficher quelque chose sur l'écran de verrouillage, il existe d'autres méthodes plus efficaces. – abhishesh