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

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);
}


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow