1

Создаю нотификацию, по клику на нее вывожу активити. Но когда закрываю активити, то визуально оно закрывается, но остается висеть в списке открытых приложений. Как закрыть активити, вызванное таким образом?

// создаю нотификацию
Intent intent = new Intent(this, NotificationActivity.class);
intent.putExtra("text", text);

PendingIntent pIntent = PendingIntent.getActivity(this, (int) System.currentTimeMillis(), intent, 0);

Notification n = new Notification.Builder(this)
    .setContentTitle(getString(R.string.app_name))
    .setSmallIcon(R.drawable.ic_launcher)
    .setContentIntent(pIntent)
    .setStyle(new Notification.BigTextStyle().bigText(message))
    .setAutoCancel(true).build();

notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notificationManager.notify(0, n);

// закрываю активити, которое показывается по клику на нотификацию
@Override
public void onClick(View v) {
    switch (v.getId()){
        case R.id.buttonClose:
            finish();
            break;
        }
    }
}

То есть активити пропадает с экрана, но если открыть открытые приложения на устройстве, то можно увидеть его там.

Jarkony
  • 13

1 Answers1

1

Попробуйте вашему Intent'у задать флаг FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS:

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |
                Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);