J'ai besoin de créer un BroadcastReceiver qui effectue certaines tâches immédiatement chaque fois que le périphérique démarre. En outre, quand un certain bouton est cliqué, le récepteur devrait arrêter de démarrer au démarrage. Quelqu'un peut-il m'aider à gérer cela?android enregistrer un récepteur de diffusion permanente
Répondre
Tout ce que vous devez résoudre la première partie de votre question est de faire un BroadcastReceiver
pour et le déclarer dans votre manifeste comme:
<receiver android:name=".MyBootReceiver"
android:enabled="true"
>
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
</intent-filter>
</receiver>
Le QUICKBOOT_POWERON
est nécessaire pour certains appareils qui ne l'envoie pas BOOT_COMPLETED
diffusion. Les appareils HTC aiment utiliser le quickboot à la place.
Pour la deuxième partie de votre question, il y a plusieurs façons d'y parvenir. Vous pouvez simplement définir une valeur dans SharedPreferences
que votre récepteur vérifie chaque fois qu'il se déclenche et quitter immédiatement si la valeur l'exige.
Vous pouvez également désactiver le récepteur dans le code:
getPackageManager().setComponentEnabledSetting(
new ComponentName(this, MyBootReceiver.class),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
Vous pouvez l'activer en utilisant la même méthode:
getPackageManager().setComponentEnabledSetting(
new ComponentName(this, MyBootReceiver.class),
PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
PackageManager.DONT_KILL_APP);
Je ne suis pas sûr de la persistance de cette méthode. Je l'utilise dans l'une de mes applications, mais ce n'est pas pour un récepteur de démarrage, et il n'a pas à persister à travers les bottes. Vous devrez l'expérimenter si vous voulez suivre cette route.
merci, je vais l'essayer! – Droidman
- 1. récepteur de diffusion pas enregistrer
- 2. Comment enregistrer un récepteur de diffusion?
- 3. Comment enregistrer un récepteur de diffusion dans l'instrumentation?
- 4. Enregistrer un récepteur de diffusion dans un service
- 5. Où dois-je enregistrer un récepteur de diffusion?
- 6. Android Date de modification Récepteur de diffusion
- 7. android alertdialog avec récepteur de diffusion
- 8. comment utiliser le récepteur de diffusion Android
- 9. minuterie pour le récepteur de diffusion android
- 10. Récepteur de diffusion Android avec plusieurs actions
- 11. Récepteur et service de diffusion dans Android
- 12. Récepteur de diffusion Android ne fonctionne pas
- 13. Récepteur de diffusion onReceive() jamais appelé - Android
- 14. récepteur de diffusion bloque quelques fois android
- 15. StartActivity dans le récepteur de diffusion Android
- 16. Récepteur de diffusion Android ne fonctionne pas
- 17. Récepteur de diffusion Android Tablet version.
- 18. récepteur sms du récepteur de diffusion
- 19. Récepteur de diffusion et phonestatelistener
- 20. Diffusion récepteur dans un IntentService
- 21. meilleure pratique où enregistrer le récepteur de diffusion?
- 22. Android Audio Manager en diffusion Récepteur
- 23. Comment lancer un récepteur de diffusion?
- 24. Lecture d'anneaux dans un récepteur de diffusion
- 25. sur le récepteur de diffusion
- 26. Récepteur de diffusion privée ListView
- 27. Récepteur de diffusion client asynchrone
- 28. Récepteur de diffusion d'appel entrant
- 29. Récepteur de diffusion dans toute l'application
- 30. Informations sur la batterie Android, sans enregistrer le récepteur de diffusion?
Qu'avez-vous essayé? Il y a beaucoup de questions à ce sujet, par exemple: http://stackoverflow.com/questions/2784441/trying-to-start-a-service-on-boot-on-android – qzikl
problème est d'arrêter BroadcastReceiver quand un certain bouton est cliqué . ce bouton certain est dans votre application ou tout autre? –
mon application seulement. Merci les gars, la solution de Ralgha semble fonctionner – Droidman