2013-03-01 4 views
2

En général, j'ai un service qui envoie une intention à mon activité qui est TOUJOURS toutes les 6 secondes et un BroadcastReceiver chaque fois que je reçois un minuteur.BroadcastReceiver cesse de fonctionner

J'ai trouvé par hasard qu'après un certain temps (c'est aléatoire) que le récepteur particulier cesse de fonctionner.

OnPause i unregister et onResume je l'enregistre à nouveau.

Aussi cela se produit au hasard dans tous les appareils et les versions Android.

J'ai trouvé en recherchant sur le Web, qu'après onReceive le récepteur est prêt à être tué par Android mais le mien ne cesse de se faire connaître.

« récepteur du cycle de vie

Un objet BroadcastReceiver est uniquement valable pour la durée de l'appel à OnReceive (contexte, intention). Une fois que votre code retourne de cette fonction, le système considère l'objet à terminer et non plus actif. "

pour votre information, je déclare avoir comme ça dans mon activité

public class MyReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context arg0, Intent intent) { 

     Log.i("Intent received", "+_ " + intent.getAction()); 
     if (intent.getAction().equals(TEST)) { 
     //do sth 
     } else { 

     //do sth else 
     } 


    } 
} 

Thans beaucoup même pour prendre le temps de lire :).

Je ne déclare rien d'autre à mon manifeste et comme pour mon logcat je dois être sur mon téléphone le moment où il arrive. Le service est une diffusion d'émission simple après une tâche asynchrone. Le dernier test que j'ai fait était de s'assurer que le code du service était en cours d'exécution en enregistrant le beeing envoyé. Et le service a continué.

Je suis loin de mon code écrire maintenant mais je pense qu'il n'y aura pas d'aide parce que c'est très simple. Thnaks

+0

Pouvez-vous poster, activité, service, manifeste et logcat s'il vous plaît? –

Répondre

0

Eh bien je pourrais encore comprendre, mais je trouve une solution à mon problème

Timer est maintenant dans l'activité et le récepteur envoie l'événement, mais après 10000 essais je veux déclencher l'événement END. Maintenant le récepteur puisqu'il ne fonctionnait pas je ne pouvais pas l'obtenir mais maintenant je commence une intention avec des extras pour la même activité toujours avec les drapeaux new_task et clear_top.

Peu importe si mon récepteur fonctionne ou non, puisque le service est correct, je vais commencer l'activité spécifique et pseudo-montrer l'événement final. PS :: Ce comportement n'est pas toujours déclencheur mais parfois. Alors maintenant je vais bien.

Si je ne suis pas compris, veuillez commenter et poser n'importe quoi. Merci

Questions connexes