Как создать приложение GDK со стеком активности?
Попытка понять, как это сделать, и на примерах не совсем понятно. Допустим, я хотел изменить приложение секундомера, где первый экран - это экран с надписью "Хотите запустить секундомер", тогда в меню действий будет "Да / Нет". Затем, когда пользователь выбирает "да", запускается секундомер, затем, если он проведет пальцем вниз, секундомер исчезнет, и он вернется на первый экран.
Я дошел до первого экрана с опцией Да / Нет. Могу ли я толкнуть новую активность / намерение из MenuActivity? Когда я хочу показать секундомер, могу ли я запустить новый сервис? Или мне создать метод в существующем сервисе? Буду ли я всегда модифицировать одну и ту же живую карту или мне нужны отдельные экземпляры живой карты для каждого экрана? Заранее благодарю за любую помощь.
1 ответ
Действия на стекле работают так же, как на других устройствах Android. Ты можешь позвонить startActivity
или же startActivityForResult
чтобы вставить новую активность в стек активности, вы можете вызвать finish
чтобы отклонить действие программно, и управлять стеком другими способами.
Похоже, что поток, о котором вы спрашиваете, связан не столько со стеком активности, сколько с запросом пользователя перед запуском сервиса (потому что сервисы должны использоваться для публикации живых карт). Если я понимаю ваш вопрос, вы хотите что-то вроде этого:
- Ваш голосовой триггер назначен действию, которое отображает пользовательский интерфейс с приглашением "Вы хотите запустить секундомер?"
- Переопределение активности
onCreateOptionsMenu
чтобы заполнить меню опциями Да / Нет. (Вам не нужно отдельное действие меню при использовании меню в действии, только при присоединении меню к живой карте.) - Вы переопределяете
onKeyDown
или использовать детектор жестов для вызоваopenOptionsMenu
когда пользователь нажимает внутри действия. - Если пользователь нажимает Да, вы обрабатываете это внутри
onOptionsItemSelected
и позвонитьstartService
запустить сервис, который затем публикует живую карту. - Убедись в
finish
активность, чтобы она не оставалась после того, как она больше не нужна.