bonjour,
je voudrais savoir s'il y a un moyen de connaitre l'élément (appwidget ou icone) qui fait passer mon activity de OnPause() a Onresume() ?
en fait mon application peut être lancé depuis l'appwidget et depuis l'icone, mais selon le moyen, les infos seront diférentes.
mon application est un bloc note, l'appwidget permet d'afficher une des pages sur le bureau et si l'utilisateur clique sur l'appwidget mon application s'ouvre sur la page de l'appwidget, par contre si l'utilisateur lance l'application depuis l'icone c'est la dernière page du bloc note qui doit être affiché.
voici ma fonction pour savoir quelle page afficher :
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 private void affichagePage() { Intent intent = getIntent(); int index = intent.getIntExtra("com.bibi.blocnote:index", -1); Page p; if (index < 0) p = Bloc.dernierepage(this); else p = Bloc.recupPageParIndex(this, index); if (p != null) { titre.setText(p.titre); texte.setText(p.texte); } else { titre.setText("Page 1"); } }
voici la création de l'intent de mon appwidget:
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Intent intentedition = new Intent(context, Editeur.class); intentedition.putExtra("com.bibi.blocnote:index", Integer.decode(info[Bloc.INDEX_WIDGET])); PendingIntent pendingedition = PendingIntent.getActivity(context, appWidgetId, intentedition, 0);
je fais appel a cette méthode dans le onResume().
si l'application n'est pas lancé:
lorsque l'application est lancée depuis l'icone ça fonctionne correctement, lorsque qu'elle est lancée depuis l'appwidget, c'est toujours la dernière page qui s'affiche (au lieu de celle de l'appwidget).
si l'application est lancée (donc en pause):
lorsque l'application passe au premier plan depuis l'appwidget ça fonctionne correctement, si c'est par l'icone, c'est la page qui était active au moment du onPause() qui est affiché (et non la dernière du bloc).
comme si lors du passage de onPause() à onResume() via l'icone, il récupérait les paramètres de l'intent précédent (donc celui de l'appwidget avec l’extra renseigné).
j’espère avoir été clair dans les explications.
la question est donc:
lorsque l'application passe de l’état onPause() à onResume() via l'icone, android utilise t'il un intent ?
si non, comment savoir si l'activity a été passé au premier plan via un clic sur l'icone.
Merci.
Partager