2012-03-12 3 views
0

En lisant une documentation android, il semble que l'intention-filtre indique à quelles fins l'application est intéressée. Dans mon application, je suis intéressé à recevoir BluetoothAdapter.ACTION_STATE_CHANGED. Je ne l'ai pas déclaré dans mon fichier xml le plus manquant, mais dans mon application, j'enregistre un BroadcastReceiver qui filtre sur BluetoothAdapter.ACTION_STATE_CHANGED et je reçois très bien les événements. Est-ce que quelqu'un peut expliquer pourquoi j'utiliser le filtre d'intention?comprendre intention-filtre dans android manifeste.xml

Répondre

1

Votre application peut donc recevoir l'événement même s'il n'est pas déjà en cours d'exécution. Voir http://developer.android.com/guide/topics/manifest/receiver-element.html:

Déclare un récepteur de diffusion (sous-classe BroadcastReceiver) comme l'un des composants de l'application. Les récepteurs de diffusion permettent aux applications de recevoir des intentions diffusées par le système ou par d'autres applications, même lorsque les autres composants de l'application ne sont pas en cours d'exécution.

Il y a deux façons de faire connaître un récepteur de diffusion au système: On le déclare dans le fichier manifest avec cet élément. L'autre consiste à créer dynamiquement le récepteur dans le code et à l'enregistrer avec la méthode Context.registerReceiver(). Reportez-vous à la description de la classe BroadcastReceiver pour en savoir plus sur les récepteurs créés dynamiquement.

+0

Je vois comment cela montre 2 façons de créer un BroadcastReceiver, mais comment cela influence-t-il quand/si le filtre d'intention doit être utilisé dans le bloc d'application du manifeste? –

+0

Pour que vous puissiez recevoir l'événement même si votre service ou votre application a déjà été arrêté. Android peut mettre fin à votre application/service (par exemple, si la mémoire se resserre), ou vous ne voulez pas que votre processus continue à fonctionner. –

+0

Je vois. Dans certains des exemples que j'ai lus, lorsqu'une application déclare un filtre d'intention et que l'intention est exécutée ailleurs, l'appareil Android permet à l'utilisateur de voir quelle application il veut utiliser pour gérer l'intention. –

Questions connexes