web-dev-qa-db-fra.com

Android: Quand utilisons-nous getIntent ()?

Je ne comprends pas pourquoi nous utilisons la méthode getIntent ().

Parce que, lorsque nous avons besoin de cette méthode, nous pouvons utiliser la méthode onActivityResult ().

Mais en utilisant la méthode getIntent (), cela pourrait causer NullPointerException.

Quelqu'un peut-il m'expliquer (débutant Android)?

6
LKM

http://developer.Android.com/reference/Android/app/Activity.html#getIntent ()

Renvoie l'intention qui a démarré cette activité.

Si vous démarrez une activité avec des données, par exemple en faisant

Intent intent = new Intent(context, SomeActivity.class);
intent.putExtra("someKey", someData);

vous pouvez récupérer ces données en utilisant getIntent dans la nouvelle activité:

Intent intent = getIntent();
intent.getExtra("someKey") ...

Donc, ce n'est pas pour gérer les données retournées d'une activité, comme onActivityResult, mais pour passer des données à une nouvelle activité.

16
Kenneth

getInent est utilisé pour transmettre des données d'une activité à une autre, Par exemple, si vous souhaitez passer d'une activité appelée startActivity à une autre nommée endActivity et que vous souhaitez qu'une donnée de startActivity soit connue dans le site endActivity, vous devez: __.In startActivity:

String dataToTransmit="this info text will be valid on endActivity";
Intent intent =new Intent(this, endActivity.class);
intent.putExtra("dataToTransmitKey",dataToTransmit);
startActivity(intent);

sur la finActivité:

Intent intent = getIntent();
String dataTransmited=intent.getStringExtra("dataToTransmitKey");
1
Rodrigo