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

Popular posts from this blog

php - What is the difference between $_SERVER['PATH_INFO'] and $_SERVER['ORIG_PATH_INFO']? -

fortran - Function return type mismatch -

queue - mq_receive: message too long -