android - Activity isn't picking up new intent -
for various reasons, app creates entries in notification bar. when user clicks on notification, want display custom activity presents entry in format.
intent intent = new intent(applicationcontext, textmessagevieweractivity.class); intent.putextra("text_message", sometext); pendingintent contentintent = pendingintent.getactivity(applicationcontext, 0, intent, 0); // create notification , post it. no fancy flags it boils down sending string via intent extra, , displaying in activity. happens first intent gets delivered activity gets "stuck" somehow, , further intents delivered display first intent's extra.
public class textmessagevieweractivity extends activity { @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.text_viewer); } @override public void onresume() { super.onresume(); intent startingintent = getintent(); string message = startingintent.getstringextra("text_message"); string displaymessage = message != null ? message : "no message found"; ((textview)findviewbyid(r.id.text_viewer_text_id)).settext(displaymessage); } } what not understanding android activity lifecycle?
i learned new today: pendingintent.getactivity may return same pendingintent given activity. in order create unique pendingintent each unique intent send, must specify pendingintent.flag_one_shot flag when creating it.
so example, pendingintent creation line in code above should have been:
pendingintent contentintent = pendingintent.getactivity(applicationcontext, 0, intent, pendingintent.flag_one_shot);
Comments
Post a Comment