J'ai une application avec des notifications qui ouvrent une certaine activité si je clique dessus. Je veux que, si je clique sur la notification et que l'activité est déjà ouverte, ce soit no recommencé, mais juste amené à l'avant.
Je pensais que je pouvais le faire avec le drapeau FLAG_ACTIVITY_BROUGHT_TO_FRONT
o FLAG_ACTIVITY_REORDER_TO_FRONT
mais il continue à l'ouvrir à nouveau, ce qui fait que j'ai l'activité deux fois.
Voici mon code :
event_notification = new Notification(R.drawable.icon,
mContext.getString(R.string.event_notif_message), System.currentTimeMillis());
Intent notificationIntent = new Intent(mContext, EventListActivity.class);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
sendNotification(event_notification, notificationIntent, mContext.getString(R.string.event_notif_title),
body, Utils.PA_NOTIFICATIONS_ID);
Puis-je le gérer avec des drapeaux ou dois-je stocker une variable dans SharedPreferences pour vérifier s'il est ouvert ou non ?
Merci !
1 votes
J'utilise intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP|Intent.FLAG_ACTIVITY_NO_HISTORY ) ;