2017-02-11 1 views
1

Ich habe einen Dienst im Hintergrund ausgeführt und zu bestimmten Zeitpunkten erstelle ich Benachrichtigungen mit Benachrichtigung und wenn der Benutzer auf die Benachrichtigung klickt, öffnet er eine Aktivität (UmfrageForm). Ich möchte diese Aktivität schließen, wenn der Benutzer auf eine Schaltfläche klickt, den Hintergrund-Dienst jedoch aktiv lässt. Ich rufe die Methode finish() innerhalb der Aktivität auf, aber anstatt sie vollständig zu schließen, ist die Anwendung immer noch in der Liste der zuletzt verwendeten Anwendungen enthalten.Ausschließen der Anwendung aus der letzten App-Liste beim Aufruf von finish() auf Aktivität

Dies ist der Code, der die Benachrichtigung erstellt.

Intent notificationIntent = new Intent(this, SurveyForm.class); 
    notificationIntent.setAction(Constants.SURVEY_ACTION); 

    PendingIntent resultPendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); 

    Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
    Notification notification = new NotificationCompat.Builder(this) 
      .setContentTitle("Survey") 
      .setTicker("New Survey") 
      .setContentText("Please, answer the survey.") 
      .setSmallIcon(R.drawable.survey_notification_icon) 
      .setSound(alarmSound) 
      .setLights(0xff00ff00, 1000, 1000) 
      .setContentIntent(resultPendingIntent) 
      .setOngoing(true) 
      .build(); 
    notification.defaults = Notification.DEFAULT_VIBRATE; 

    mNotificationManager.notify(Constants.SURVEY_NOTIFICATION_ID, notification); 

Und der Button-Code ist der folgende:

bSave.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
      //Close the notification 
      nm.cancel(Constants.SURVEY_NOTIFICATION_ID); 

      //Close this Activity 
      finish(); 
     } 
    }); 

aktualisieren

ich das Problem gelöst haben, indem die nächste Eigenschaft in der Manifest-Datei für die entsprechende Aktivität angeben.

android: excludeFromRecents = "true"

+1

Was meinst du mit "minimieren"? Android hat keine Idee, eine App zu "minimieren". – Karakuri

+1

@Karakuri durch Minimierung Ich meine, dass die Anwendung ausgeblendet ist, aber immer noch in der Liste der zuletzt verwendeten Apps erscheint. – Enrique

+0

@Enrique, bitte posten Sie die Lösung als Antwort auf die Frage und akzeptieren Sie dann das gleiche. Es wird anderen Menschen auf bessere Weise helfen und Ihnen auch Punkte einbringen. –

Antwort

2

ich das Problem gelöst haben, indem die excludeFromRecents Eigenschaft in der Manifest-Datei für die entsprechende Aktivität angeben.

android: excludeFromRecents = "true"

Verwandte Themen