Je veux savoir comment détecter quand le téléphone se réveille en mode écran noir et écrire un gestionnaire pour cet événement. Est-ce possible? Il semble que ce serait quelque chose qu'un récepteur de radiodiffusion devrait gérer? Ou y a-t-il un moyen meilleur ou plus approprié?Est-il possible d'écrire un récepteur de diffusion Android qui détecte quand le téléphone se réveille?
Répondre
Si vous avez un service qu'il actif, vous pouvez attraper ces événements avec
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// do something
}
}, new IntentFilter(Intent.ACTION_SCREEN_ON));
Toutefois, ce repose d'avoir un service sans cesse la course que j'ai récemment appris est découragé parce qu'il est fragile (le système d'exploitation aime les fermer) et utilise les ressources de façon permanente. De manière décevante, il semble qu'il ne soit pas possible d'avoir un récepteur dans votre manifeste qui intercepte les événements SCREEN_ON.
Cela est venu récemment:
android.intent.action.SCREEN_ON doesn't work as a receiver intent filter
également
Android - how to receive broadcast intents ACTION_SCREEN_ON/OFF?
Vous avez raison sur le récepteur de radiodiffusion. Vous pouvez écouter les événements de diffusion SCREEN_ON et SCREEN_OFF.
Vous pouvez également avoir un récepteur de diffusion qui intercepte l'intention de diffusion USER_PRESENT lorsque l'utilisateur a déverrouillé l'appareil. Naturellement, certaines versions de Honeycomb n'honorent pas cela, mais pour toutes les versions non-crânes d'Android (2.x et 4.x), cela fonctionne bien.
Cela fonctionne également si vous vous inscrivez depuis AndroidManifest.xml. – bk138
- 1. Récepteur de diffusion onReceive() jamais appelé - Android
- 2. Lecture d'anneaux dans un récepteur de diffusion
- 3. Android - Enregistrement d'un récepteur de diffusion pour deux intentions?
- 4. Récepteur de diffusion qui écoute le bouton de disque dur dans Android
- 5. exemple Timezone dans le récepteur de diffusion
- 6. Comprendre quand l'utilisateur parle au téléphone
- 7. Adresse de diffusion Android
- 8. Nommer un événement: décrire ce qui vient de se passer ou décrire ce qui va se passer? Et pourquoi?
- 9. Réponse automatique aux SMS reçus via le récepteur de diffusion?
- 10. Android Widget Clic et le récepteur de diffusion ne fonctionne pas
- 11. Problème lors de l'acquisition du verrouillage de réveil à partir du récepteur de diffusion
- 12. Récepteur de diffusion pour le message gtalk/gmail recevoir
- 13. Android Alarm Manager avec récepteur de diffusion enregistré dans le code plutôt que dans le manifeste
- 14. Le fil démon se réveille à différents intervalles
- 15. Est-il possible de porter un téléphone Symbian Android
- 16. Comment je peux utiliser le récepteur de diffusion large en android
- 17. Android - Obtenir le contexte à partir d'un récepteur de diffusion onReceive() pour envoyer à
- 18. Envoi d'une intention du récepteur de diffusion vers un service en cours d'exécution dans Android
- 19. Est-il possible de définir un récepteur de diffusion en tant que classe interne dans un fichier manifeste?
- 20. Comment configurer une alarme qui se déclencherait même si je redémarre mon téléphone Android?
- 21. Android: Receive diffusion personnalisée quand un bouton dans un widget est cliqué
- 22. Forcer un téléphone Android à dormir, afin de tester?
- 23. Comment puis-je afficher une boîte de dialogue à partir d'un récepteur de diffusion Android?
- 24. Android: Puis-je utiliser un récepteur de diffusion pour l'échantillonnage de localisation GPS périodique sans exécuter de service?
- 25. Android + SMS Récepteur + Toast = FAIL
- 26. Android Emulator ne détecte pas le GPS
- 27. Android du récepteur à l'activité
- 28. Commande de singe sur le téléphone android?
- 29. Implémenter une fenêtre de niveau supérieur à partir d'un récepteur de diffusion
- 30. Intention de diffusion Android
ah merci afin que détectera l'écran et permettez-moi de le gérer correctement à droite? Je lisais votre thread et vous ne recommande pas d'avoir un service d'arrière-plan en cours d'exécution et en attendant que le téléphone se réveille. Pourquoi? Quel est l'inconvénient et y a-t-il un moyen de contourner? Les services d'arrière-plan n'exécutent-ils pas la détection d'événements de ce type? – Joe
Cet article traite de la question de service d'arrière-plan - http://www.androidguys.com/2010/03/29/code-pollution-background-control/ –
le problème avec cette réponse, pourquoi cela fonctionne, est parce que votre activité ne reçoit pas les intentions lorsque le téléphone est endormi. Vous pouvez donc enregistrer screen_on dans votre activité, mais vous ne l'aurez jamais. –