4 votes

Le récepteur de diffusion ne fonctionne pas après un redémarrage

J'ai un récepteur de diffusion enregistré dans le manifeste pour intercepter les appels, comme ceci :

    <receiver android:name="CallTracker">
        <intent-filter>
            <action android:name="android.intent.action.PHONE_STATE" />
        </intent-filter>
    </receiver>

Tout fonctionne bien et le récepteur est appelé. Mais après avoir redémarré l'appareil ou mon AVD, le récepteur n'est plus appelé.

Que dois-je faire pour que mon récepteur de diffusion fonctionne également après le redémarrage ? Ai-je besoin de PackageManager pour cela ? J'aime l'enregistrement dans le manifeste, puisque l'application n'a pas besoin d'être active pour que l'application intercepte l'appel.

0voto

Benjamin Bisinger Points 117

Je sais que cette question est assez ancienne mais, à mon avis, elle est toujours pertinente. Puisque la réponse actuellement acceptée est erronée et que le commentaire de utilisateur1806772 était la réponse correcte pour moi, je la fournis comme une nouvelle réponse à la question :

C'est probablement fait travail. Mais directement après le redémarrage, cela peut prendre un temps très long (jusqu'à plusieurs minutes) avant que l'intention ne soit délivrée. Quelques minutes après le redémarrage, le système devrait à nouveau fonctionner rapidement.

-1voto

Joey Booker Points 71

Vous devez ajouter cette action à votre filtre d'intention.

<action android:name="android.intent.action.BOOT_COMPLETED" />

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