91 votes

Obtenir la liste des PendingIntents actifs dans AlarmManager

Existe-t-il un moyen d'obtenir une liste de l'active PendingIntent dans un appareil ?

Je commence à travailler avec AlarmManager et j'aime voir si mon PendingIntent sont créés et supprimés correctement.

Il serait également intéressant de voir ce que les autres PendingIntent sont là, juste par curiosité, pour voir si une application fait un "travail supplémentaire".

182voto

inazaruk Points 37760
adb shell dumpsys alarm > dump.txt

dump.txt :

Current Alarm Manager state:

  Realtime wakeup (now=1309361618777):
  RTC_WAKEUP #5: Alarm{4822f618 type 0 com.google.android.gsf}
    type=0 when=1309882326582 repeatInterval=522747000 count=0
    operation=PendingIntent{47dd3740: PendingIntentRecord{4822aeb8 com.google.android.gsf broadcastIntent}}
  ...
  RTC #5: Alarm{4810f9d8 type 1 com.tmobile.selfhelp}
    type=1 when=1309445979715 repeatInterval=86400000 count=1
    operation=PendingIntent{4815a5c8: PendingIntentRecord{4810f960 com.tmobile.selfhelp startService}}
  RTC #4: Alarm{4810f668 type 1 com.tmobile.selfhelp}
    type=1 when=1309445959620 repeatInterval=86400000 count=1
    operation=PendingIntent{480996e8: PendingIntentRecord{480214a0 com.tmobile.selfhelp broadcastIntent}}
  ...

  Elapsed realtime wakeup (now=2110632):
  ELAPSED_WAKEUP #5: Alarm{481c24e0 type 2 com.google.android.apps.maps}
    type=2 when=2147485512925 repeatInterval=0 count=0
    operation=PendingIntent{47d1d3a8: PendingIntentRecord{481a2600 com.google.android.apps.maps broadcastIntent}}     
  ...
  ELAPSED #1: Alarm{4829ce98 type 3 android}
    type=3 when=2512653 repeatInterval=0 count=0
    operation=PendingIntent{47eabda8: PendingIntentRecord{47f20250 android broadcastIntent}}
  ELAPSED #0: Alarm{480f0198 type 3 com.mixzing.basic}
    type=3 when=2439998 repeatInterval=0 count=0
    operation=PendingIntent{48100dd8: PendingIntentRecord{480ff5a0 com.mixzing.basic broadcastIntent}}

  Broadcast ref count: 0

  Alarm Stats:
  com.google.android.location
    3ms running, 1 wakeups
    1 alarms: act=com.google.android.location.ALARM_WAKEUP flg=0x4
  com.google.android.gsf
    274ms running, 4 wakeups
    1 alarms: flg=0x4
    1 alarms: act=com.google.android.intent.action.GTALK_RECONNECT flg=0x4
    2 alarms: act=com.google.android.intent.action.GTALK_HEARTBEAT flg=0x4
 ...
-------------------------------------------------------------------------------

1 votes

Oh, il s'avère qu'il y en a un. Essayez d'utiliser dumpsys alarm . J'ai mis à jour la réponse.

2 votes

Je viens de vérifier, et je peux confirmer qu'il n'est pas possible de faire cela sur le dispositif à moins que vous ayez Root "Permission Denial : can't dump AlarmManager from pid=16910, uid=10120".

1 votes

Quoi compter de la propriété ? J'ai un gros montant dans mon application type=3 when=+4m7s342ms repeatInterval=300000 count=4703 Cela signifie-t-il que les alarmes 4703 ont été configurées ?

5voto

Uncaught Exception Points 1375

Adb shell dumpsys alarm > dump.txt est la solution et vous n'avez pas besoin de l'autorisation de Root pour cela. Mais ce que vous obtenez ci-dessus peut être très confus à comprendre. Afin de comprendre complètement ce dump, vous devriez consulter la réponse de morphatic. aquí .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X