Buscar..


Sintaxis

  • Intención()
  • Intención (Intención o)
  • Intención (acción de cadena)
  • Intención (String action, Uri uri)
  • Intención (Context packageContext, Class <?> Cls)
  • Intención (Acción de cadena, Uri uri, Context packageContext, Class <?> Cls)

Parámetros

Parámetros Detalles
o Intención
acción String: la acción Intención, como ACTION_VIEW.
uri Uri: El URI de datos de Intención.
packageContext Context: un contexto del paquete de aplicación que implementa esta clase.
cls Class: la clase de componente que se utilizará para la intención.

Observaciones

Intenciones implícitas y explícitas

Se utiliza una intención explícita para iniciar una actividad o servicio dentro del mismo paquete de aplicación. En este caso, el nombre de la clase deseada se menciona explícitamente:

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

Sin embargo, se envía una intención implícita a través del sistema para cualquier aplicación instalada en el dispositivo del usuario que pueda manejar esa intención. Esto se utiliza para compartir información entre diferentes aplicaciones.

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
}

Más detalles sobre las diferencias se pueden encontrar en los documentos de Android Developer aquí: Intención de resolución

Intenciones implícitas

Los intentos implícitos no nombran un componente específico, sino que declaran una acción general para realizar, lo que permite que un componente de otra aplicación lo maneje.

Por ejemplo, si desea mostrarle al usuario una ubicación en un mapa, puede usar un intento implícito para solicitar que otra aplicación capaz muestre una ubicación específica en un mapa.

Ejemplo:

// 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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow