Не перезагружать открытое Activity при открытии из notification
В моем приложении используется лишь одно Activiy-MainActivity с картой, когда приложении в фоне и пользователь приближается к нужному ему месту, ему приходит уведомление
По нажатию на уведомление мне нужно открыть последнее использующееся activiy, то есть не перезагружать MainActivity
сейчас я использую простой Intent
var Intent = new Intent(this, typeof(MainActivity));
Intent.PutExtra("some_data", 1);
TaskStackBuilder stackBuilder = TaskStackBuilder.Create(this);
stackBuilder.AddNextIntent(Intent);
.....
Но такая работа мне не подходит.
Как я могу передать в Intent именно ту активность из который отправляется Notification?
Ответы (1 шт):
Автор решения: Сергей Бувака
→ Ссылка
Чтобы вывести ваше приложение на передний план, не вызывая новых активити используйте этот метод.
public static Intent newLauncherIntent(final Context context) {
final Intent intent = new Intent(context, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
return intent;
}
Интент, созданный этим методом, не запускает новую активити, если приложение запущено, даже если оно имеет этот флаг.