Las intenciones se utiliza para que las actividades se ejecuten.Existen dos tipos de intenciones:
- Intenciones explícitas:se indica exactamente el componente a lanzar. Su utilización típica es la de ir ejecutando los diferentes componentes internos de una aplicación.
- Intenciones implícitas:pueden solicitar tareas abstractas, como “quiero tomar una foto” o “quiero enviar un mensaje”. Además las intenciones se resuelven en tiempo de ejecución, de forma que el sistema mirará cuantas aplicaciones han registrado la posibilidad de ejecutar ese tipo de actividad. Si encuentra varias el sistema puede preguntar al usuario la actividad que prefiere utilizar.
Hay varias formas de utilizar las intenciones :
- Con este código se lanza una actividad:
Intent intent =new Intent(this, MI_CLASE.class);
intent.putExtra("usuario", "Pepito Perez");
intent.putExtra("edad", 27);
startActivity(intent);
- Para recoger los datos una vez lanzada la actividad utilizamos el siguiente código:
Bundle extras = getIntent().getExtras();
String s = extras.getString("usuario");
int i = extras.getInt("edad");
- Cuando la actividad lanzada termina también podrá devolver datos que podrán ser recogidos por la actividad lanzadora de la siguiente manera.
Intent intent = new Intent(this, MI_CLASE.class);
startActivityForResult(intent, 1234);
@Override protected void onActivityResult (int requestCode, int resultCode, Intent data){
if (requestCode==1234 && resultCode==RESULT_OK) {
String res = data.getExtras().getString("resultado"); }
}
En la actividad llamada has de escribir:
Intent intent = new Intent();
intent.putExtra("resultado","valor");
setResult(RESULT_OK, intent);
finish();