De Intents en tenim de dos tipus: explícits i
implícits.
- Cridar mètodes implícits sense retorn de resultat
Cal
declarar l'activitat al fitxer AndroidManifest.xml
<activity
android:name="com.lina.validar.ActivitatSegona"
android:label="@string/title_activity_activitat_segona"
>
</activity>
Per
obrir una nova activitat, que no retorna resultats a la primera (codi en la
primera activitat)
Intent intencio= new Intent(getApplicationContext(), ActivitatSegona.class);
Per
passar arguments entre activitats (codi en la primera activitat)
intencio.putExtra("NOM", nom);
startActivity(intencio);
Per
recollir els arguments en la segona activitat, passats per la primera
String nom =
getIntent().getStringExtra("NOM");
- Cridar mètodes implícits amb retorn de resultat
Es declaren igual però es cridem amb
startActivityForResult(intencio,
codi);
On codi pot ser qualsevol número superior a 0 i que
serveix per identificar el intent.
Després l'activitat segona li retorna la informació
a l'activitat primera amb
Intent intent =
new Intent();
intent.putExtra(
"tornar" , 1);
setResult(
RESULT_OK ,intent);
finish();
I l'activitat primera per recollir el resultat:
@Override
protected void
onActivityResult ( int requestCode, int resultCode, Intent data){
super
.onActivityResult(requestCode, resultCode, data);
if (requestCode
== 10 && resultCode == RESULT_OK ){
int
valorObtenido = data.getIntExtra("devolver", 0);
//el nostre
codi
}
}
- Cridar mètodes explícits
Per exemple:
startActivity(new
Intent(Intent.ACTION_CALL, Uri.parse("tel:933333333")));
La classe Intent defineix una sèrie d'accions
predeterminades ( es poden consultar
http://developer.android.com/guide/components/intents-filters.html). En aquest
cas cridem a l'acció ACTION_CALL que inicia una trucada de telèfon
Cap comentari:
Publica un comentari a l'entrada