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
Post a Comment