У меня есть служба, работающая в фоновом режиме, и в определенные периоды времени я создаю уведомления с уведомлением, и когда пользователь нажимает уведомление, он открывает Activity (SurveyForm). Я хочу закрыть эту активность, когда пользователь нажимает кнопку, но оставляет фоновый сервис запущенным. Я вызываю метод finish() внутри Activity, но вместо полного его закрытия приложение по-прежнему присутствует в списке последних приложений.За исключением приложения из недавнего списка приложений при вызове finish() в действии
Это код, который создает уведомление.
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);
И код кнопки следующее:
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();
}
});
Update
Я решил эту проблему, указав следующее свойство в файле манифеста для соответствующей деятельности.
андроид: excludeFromRecents = «истинный»
Что вы имеете в виду под "минимизировать"? Android не имеет понятия о «минимизации» приложения. – Karakuri
@ Karakuri, сводя к минимуму, я имею в виду, что приложение скрыто, но все еще отображается в последнем списке приложений. – Enrique
@ Enrique, Пожалуйста, разместите решение как ответ на вопрос, а затем примите то же самое. Это поможет другим людям лучше, а также заработает очки. –