Bizarre “Destinataire non enregistré” exception

Dans onResume() je fais:

registerReceiver(timeTickReceiver, new IntentFilter(Intent.ACTION_TIME_TICK));

et dans onPause():

unregisterReceiver(timeTickReceiver);

Je vois "java.lang.IllegalArgumentException: Récepteur non inscrit" rapports sur l'Android Developer Console (il y a seulement 2 rapports et de mon application a des milliers d'utilisateurs). L'exception est déclenchée par unregisterReceiver(). Ce qui peut se passer? Je ne me sens pas très confiance juste l'entourer de try-catch.

  • Sur quelle version de l'API est-ce possible?
  • Je ne sais pas, je ne peux pas voir que, dans les rapports d'erreur.
  • Je suppose que sur certains téléphones, la onResume événement n'est pas toujours invoquée après onCreate qui à son tour provoque des problèmes dans la première onPause pour cette activité.
  • J'aurais tendance à être d'accord avec Xion, mais pas un problème avec un téléphone... au Lieu de cela, je pense que c'est plus un très spécifique bord de cas, comme la rotation de l'orientation au bon moment, au début de l'activité du cycle de vie (quelque part très proche de onCreate et onResume). Les anciennes versions de la plate-forme ont des problèmes similaires avec des boîtes de dialogue, ViewFlippers, et d'autres widgets, particulièrement au cours de la rotation, donc je ne suis pas surpris qu'il allait se passer ici aussi. Semble que votre code est correct, donc je dirais juste attraper l'exception.
InformationsquelleAutor fhucho | 2011-02-12