2 votes

extras d'intention avec mode haut simple dans Android

Android : new Intent() lance une nouvelle instance avec Android:launchMode="singleTop".

J'ai réussi à faire fonctionner le single top selon le lien ci-dessus, mais j'ai du mal à mettre les "extras" dans l'intention et ensuite à exécuter une fonction sur mon activité originale est-ce possible ?

Intent I= new Intent(context, away.class);
I.putExtra("number",  number);
I.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |       Intent.FLAG_ACTIVITY_SINGLE_TOP);

cet extrait provient de mon récepteur de diffusion et renvoie à ma classe principale dans ma classe principale, mon code est le suivant

Intent I = getIntent();
int number = I.getIntExtra("number", -1);

donc ma question est la suivante . Comment puis-je faire en sorte que mon activité principale évalue le nombre que je renvoie et déclenche une fonction lorsque la classe du récepteur la déclenche ?

2voto

Hoan Nguyen Points 10098

Vous devez remplacer onNewIntent et obtenir le supplément à cet endroit.

You have to override onNewIntent and get the extra there.  

@Override
protected void onNewIntent(Intent intent)
{
    super.onNewIntent(intent);

    int number = intent.getIntExtra("number", -1);
}  

Dans votre récepteur de diffusion

Intent I = new Intent(context, away.class);
I.putExtra("number",  number);
Log.d("here", "number = " + number);
I.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(I);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X