android - Pending intent extras are received only when activity is paused -


i'm sending string pending intent statech.java mainactivity. expectation on display dialog in mainactivity when pending intent arrived (notification clicked). problem when open mainactivity , click notification there no extras inside pending intent , dialog isn't displayed. when pause mainactivity (by pressing button) , click notification again works expected.

mainactivity.java:

public class mainactivity extends activity {   //...    @override protected void onnewintent(intent intent)   {     super.onnewintent(intent);      bundle extras = getintent().getextras();     if(extras !=null) {         string value1 = extras.getstring("message");         log.v("alert", value1);          alertdialog alertdialog = new alertdialog.builder(mainactivity.this).create();         alertdialog.settitle("title");         alertdialog.setmessage(value1);         alertdialog.setbutton(alertdialog.button_positive, "ok", new dialoginterface.onclicklistener() {              public void onclick(dialoginterface dialog, int which) {                  //startactivity(mainactivity.this.getintent());              }         });          alertdialog.show();     }  } } 

statech.java:

public class statech extends service {  //...     private void notificationu(string title, string text)  {      //the intent launch when user clicks expanded notification     intent intent = new intent(this, mainactivity.class);     intent.setflags(intent.flag_activity_clear_top | intent.flag_activity_single_top);     intent.putextra("message", "something");     intent.setaction("actionstring" + system.currenttimemillis());      pendingintent pendintent = pendingintent.getactivity(this, 0, intent, pendingintent.flag_update_current);       notification noti2 = new notificationcompat.builder(this)      .setcontenttitle(title)      .setcontenttext(text)      .setsmallicon(r.drawable.warning)      .setcontentintent(pendintent)      .build();       mnotificationmanager = (notificationmanager) getsystemservice(context.notification_service);      mnotificationmanager.notify(123456, noti2);     }      // ...        } 

change bundle extras = getintent().getextras();

to bundle extras = intent.getextras();

or call setintent(intent) first


Comments

Popular posts from this blog

Change php variable from jquery value using ajax (same page) -

Pull out data related to my apps from Android Play Store and iOS App Store -

How can I fetch data from a web server in an android application? -