Vacxe
@Vacxe

Проверка вызываемой активности?

Собственно код
...
Intent intent;
...
case (8):
			// Избранное
			intent = new Intent(getApplicationContext(), FavoriteActivity.class);
			break;
		case (9):
			// Корзина
			intent = new Intent(getApplicationContext(), CartActivity.class);
			break;
		case (12):
			// О приложении			
			intent = new Intent(getApplicationContext(), SupportActivity.class);
			break;
		default:
			break;
		}
		if (intent != null) {
			startActivity(intent);
                }



Данное меню описано в родительском классе для всех активностей, где оно используется.

И вопрос, как запретить вызывать активность, если она уже запущена, чтобы не добавлять ее в стек запущенных активностей бесконечно. Пробовал добавить условие if(getApplicationContext().getClass().equals(x.class)) но не помогло. Может не добавил каких то премишенсов?
  • Вопрос задан
  • 2981 просмотр
Решения вопроса 1
LeoCcoder
@LeoCcoder
1. самому вручную следить за стеком активностей — не хорошо
2. убивать активити перед переходом на другую. Например: открыли О приложении, послали интент на новую активити, убили О приложении
3. почитать про флаги запуска активити, можно сделать чтобы активи О приложении всегда была одна в стеке. Не все флаги доступны во всех версиях андроида.

А вам точно нужны активити? Можно в рамках одной активити работать с фрагментами или страницами… тогда там уже другие механизмы будут работать.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
debugger88
@debugger88
И что вы сверяете с getApplicationContext()? Вам как минимум нужна конструкция
if(this instanceof ClassName)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы