android - PopUp Activity starts again when it is started from "recent apps" -


i have popup activity starts when alarmmanager receives alarm.

alarmreceiver extends wakefulbroadcastreceiver:

@override public void onreceive(context context, intent intent) {     intent service = new intent(context, alarmservice.class);     service.putextras(intent);      // start service, keeping device awake while launching.     startwakefulservice(context, service); } 

alarmservice extends intentservice:

@override protected void onhandleintent(intent intent) {      intent = new intent();     i.setclass(this, popupactivity.class);     startactivity(i);     alarmreceiver.completewakefulintent(intent); } 

popupactivity:

@override protected void oncreate(final bundle savedinstancestate) {     super.oncreate(savedinstancestate);       getwindow().setflags(layoutparams.flag_not_touch_modal, layoutparams.flag_not_touch_modal);     getwindow().setflags(layoutparams.flag_watch_outside_touch, layoutparams.flag_watch_outside_touch);     setcontentview(r.layout.layout_dialog);        powermanager pm = (powermanager) getsystemservice(context.power_service);     powermanager.wakelock wl = pm.newwakelock(powermanager.partial_wake_lock, clientconstants.wake_lock_notification);     // acquire lock     wl.acquire();      if (canvibrate){         vibrator = (vibrator) getsystemservice(context.vibrator_service);         vibrator.vibrate(new long[]{ 0, 200, 500 },0);     }     if (canring){         mediaplayer = new mediaplayer();         try {             mediaplayer.setdatasource(this, getalarmuri());             final audiomanager audiomanager = (audiomanager) getsystemservice(context.audio_service);             if (audiomanager.getstreamvolume(audiomanager.stream_alarm) != 0) {                 mediaplayer.setaudiostreamtype(audiomanager.stream_alarm);                 mediaplayer.prepare();                 mediaplayer.start();             }         } catch (ioexception e) {         }     }      findviewbyid(r.id.dialog_ok_button).setonclicklistener(new onclicklistener() {          @override         public void onclick(view v) {             stopringing();             finish();         }     });     // release lock     wl.release(); } private void stopringing(){     if (canring && mediaplayer.isplaying())         mediaplayer.stop();     if (canvibrate){         vibrator.cancel();     } } 

popupactivity started alarm manager. if popupactivity started when application not active application, , if user presses "ok button", activity disappears. nothing wrong right here till now. the problem is, if user opens recent apps screen , selects activity new popupactivity started again. how can rid off problem?

when declare popupactivity in manifest, make sure include android:nohistory="true". mean open "recents", popup activity forgotten, , return before when re-open app.


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -