Fondamentalement, il est clair pour distinguer l'intention implicite et expliciteapplications O - confus de definiton d'intention implicite et explicite Intention
Explicit intentions ont spécifié un composant (via setComponent (ComponentName) ou setClass (Contexte , Class)), qui fournit la classe exacte à exécuter. Souvent ceux-ci ne comprennent aucune autre information, étant simplement un moyen pour une application de lancer diverses activités internes dont il dispose lorsque l'utilisateur interagit avec l'application .
Les intentions implicites n'ont pas spécifié de composant; au lieu de cela, ils doivent inclure suffisamment d'informations pour que le système détermine lequel des composants disponibles est le mieux adapté à cette intention.
Mais je suis confus par Google introduit sur https://developer.android.com/about/versions/oreo/background.html#broadcasts
Par exemple, ACTION_PACKAGE_REPLACED est une émission implicite, puisque il est envoyé à tous les auditeurs enregistrés, de leur faire savoir que certains package sur l'appareil a été remplacé. Cependant, ACTION_MY_PACKAGE_REPLACED n'est pas une diffusion implicite, puisqu'elle est envoyée uniquement à l'application dont le package a été remplacé, quel que soit le nombre d'autres applications ayant des écouteurs enregistrés pour cette diffusion.
Pourquoi ACTION_MY_PACKAGE_REPLACED n'est pas une émission implicite?
"il est envoyé uniquement à l'application dont le paquet a été remplacé" - Cela signifie que le 'Intent' est créé pour cibler le composant enregistré pour cette diffusion, _et_ il porte l'action' ACTION_MY_PACKAGE_REPLACED'. Explicit 'Intent's peut également avoir des actions. –
Oui, je sais explicite * Intent * peut également avoir des actions, mon doute est pourquoi ACTION_MY_PACKAGE_REPLACED est considéré comme explicite. –
Voulez-vous dire que cette action est spécifiée package cible lors de l'envoi par le système? –