Android
Intentions implicites
Recherche…
Syntaxe
- Intention()
- Intention (Intention o)
- Intention (action de chaîne)
- Intention (action de cordes, Uri uri)
- Intention (Contexte packageContext, Class <?> Cls)
- Intention (Action de chaîne, Uri uri, Context packageContext, Class <?> Cls)
Paramètres
Paramètres | Détails |
---|---|
o | Intention |
action | String: action d'intention, telle que ACTION_VIEW. |
uri | Uri: L'URI de données d'intention. |
packageContext | Context: Contexte du package d'application implémentant cette classe. |
cls | Class: classe de composant à utiliser pour l'intention. |
Remarques
En savoir plus sur l' intention
En savoir plus sur les types d'intention
Intentions implicites et explicites
Une intention explicite est utilisée pour démarrer une activité ou un service dans le même package d'application. Dans ce cas, le nom de la classe visée est explicitement mentionné:
Intent intent = new Intent(this, MyComponent.class);
startActivity(intent);
Toutefois, une intention implicite est envoyée sur le système pour toute application installée sur le périphérique de l'utilisateur et capable de gérer cette intention. Ceci est utilisé pour partager des informations entre différentes applications.
Intent intent = new Intent("com.stackoverflow.example.VIEW");
//We need to check to see if there is an application installed that can handle this intent
if (getPackageManager().resolveActivity(intent, 0) != null){
startActivity(intent);
}else{
//Handle error
}
Vous trouverez plus de détails sur les différences dans les documents Android Developer: Intent Resolution
Intentions implicites
Les intentions implicites ne nomment pas un composant spécifique, mais déclarent une action générale à effectuer, ce qui permet à un composant d'une autre application de le gérer.
Par exemple, si vous souhaitez montrer à l'utilisateur un emplacement sur une carte, vous pouvez utiliser une intention implicite pour demander qu'une autre application capable affiche un emplacement spécifié sur une carte.
Exemple:
// Create the text message with a string
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, textMessage);
sendIntent.setType("text/plain");
// Verify that the intent will resolve to an activity
if (sendIntent.resolveActivity(getPackageManager()) != null) {
startActivity(sendIntent);
}