Ricerca…


Sintassi

  • Intento()
  • Intento (intenzione o)
  • Intento (String action)
  • Intento (String action, Uri uri)
  • Intento (Context packageContext, Class <?> Cls)
  • Intento (String action, Uri uri, Context packageContext, Class <?> Cls)

Parametri

parametri Dettagli
o Intento
azione String: l'azione Intent, ad esempio ACTION_VIEW.
uri Uri: l'URI di dati Intent.
packageContext Context: un contesto del pacchetto dell'applicazione che implementa questa classe.
cls Class: la classe componente che deve essere utilizzata per l'intento.

Osservazioni

Intenti impliciti ed espliciti

Un intento esplicito viene utilizzato per avviare un'attività o un servizio all'interno dello stesso pacchetto dell'applicazione. In questo caso il nome della classe desiderata è esplicitamente menzionato:

Intent intent = new Intent(this, MyComponent.class);
startActivity(intent);

Tuttavia, un intento implicito viene inviato attraverso il sistema per tutte le applicazioni installate sul dispositivo dell'utente in grado di gestirlo. Questo è usato per condividere informazioni tra diverse applicazioni.

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
}

Maggiori dettagli sulle differenze sono disponibili nei documenti per sviluppatori Android qui: Risoluzione intenzionale

Intenti impliciti

Gli intent impliciti non nominano un componente specifico, ma dichiarano invece un'azione generale da eseguire, che consente a un componente di un'altra app di gestirlo.

Ad esempio, se si desidera mostrare all'utente una posizione su una mappa, è possibile utilizzare un intento implicito per richiedere che un'altra app in grado di mostrare una posizione specificata su una mappa.

Esempio:

// 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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow