В StackOverflow существует масса вопросов, связанных со стеком активности, но я не нашел ни одного, который бы ответил на мой вопрос.Я работаю над онлайн-игрой, которая (на данный момент) имеет 3 различных вида деятельности:
- Вход / Регистрация
- Меню (отображается при входе в систему, включает «новую игру», «моя статистика ", и некоторые другие вещи ... Меня сейчас беспокоит только вариант" новая игра ".)
- Игра
Соединение с сокетом происходит ввход в систему / регистрация, которая создает пользовательский сервис, который работает в фоновом режиме.Поскольку данные могут поступать в любой момент, используемый мной класс сокетов имеет асинхронные обработчики ответов.Это означает, что у меня не будет доступа к текущему контексту всякий раз, когда получено сообщение.
Мне нужен способ выяснить, каков текущий контекст, когда принимаются различные типы сообщений, чтобы я мог обработать сообщениесоответственно.Например, если пользователь достиг игрового экрана (№ 3 выше) и получил сообщение одного типа, он должен просто сказать игровому экрану обновиться с новым игровым состоянием.Однако пользователь может находиться на том же игровом экране и получать сообщение другого типа, которое гласит «закройте экраны № 3 и № 2 и выйдите из системы, вернув их на экран № 1».
По сути,Я пытаюсь найти лучший способ получить текущую активность / контекст, определить, является ли это правильный контекст для текущего сообщения, и как с ним справиться.