Componentes de Android
ACTIVITIES
Views
ViewGroups
Activities
Intents
BroadcastReceivers
Services
ContentProviers
Widgets
Interfaz global de información acerca del entorno de la Aplicación
Sistema de Pila
Intent i = new Intent(getApplicationContext(),AnotherActivity.class);
startActivity(i);
Para iniciar una actividad de forma explícita se debe crear un intento con el nombre de la Activity que queremos iniciar
startActivityForResult(i,123456);
Además del intento, se debe proporcionar un código numérico que identificará al resultado:
Intent i = new Intent();
i.putExtra("resulNom", nombreIngresado);
setResult(RESULT_OK, i);
finish();
La segunda Activity devolverá el resultado:
@Override
protected void onActivityResult(int key, int status, Intent data){
super.onActivityResult(key,status,data);
if (KEY == 123456){
/* ToDo actions*/
}
}
Y la Activity padre esperará la respuesta:
Intent i = new Intent();
i.setAction(Intent.ACTION_SEND);
i.putExtra(Intent.EXTRA_TEXT, "Texto a Enviar");
i.setType(HTTP.PLAIN_TEXT_TYPE);
startActivity(i)
// Para customizar el chooser
Intent chooser = Intent.createChooser(i, "Como desea enviar?");
startActivity(chooser);
Al iniciar una actividad implicitamente, no le decimos que Activity queremos iniciar, sino que lanzamos una acción y el sistema determina cuáles son los componente sregistrados para ese evento:
// Dentro del TAG <activity> del manifiesto
<intent-filter>
<action andoid:name="android.intent.action.SEND"/>
<category andoid:name="android.intent.category.DEFAULT"/>
<data andoid:mimeType="text/plain"/>
</intent-filter>
Antes vimos como lanzar una acción y que el sistema determine cuáles son las actividades registradas para realizarla. Ahora vamos a ver como registrar nuestra propia actividad: