В моем приложении есть уведомления, которые, очевидно, без каких-либо флагов, запускают новое действие каждый раз, поэтому я получаю несколько одинаковых действий, выполняющихся поверх друг друга, что просто неправильно.
Что я хочу сделать, так это принести активность, указанную в ожидающих намерения уведомлениях, на передний план, если она уже запущена, иначе запустите ее.
До сих пор намерение/ожидающее намерения для этого уведомления у меня есть
private static PendingIntent prepareIntent(Context context) {
Intent intent = new Intent(context, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
return PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
}
и странно, это иногда работает, иногда это не так... Я чувствую, что я уже пробовал каждую комбинацию флагов.