Как создать приложение GDK со стеком активности?

Попытка понять, как это сделать, и на примерах не совсем понятно. Допустим, я хотел изменить приложение секундомера, где первый экран - это экран с надписью "Хотите запустить секундомер", тогда в меню действий будет "Да / Нет". Затем, когда пользователь выбирает "да", запускается секундомер, затем, если он проведет пальцем вниз, секундомер исчезнет, ​​и он вернется на первый экран.

Я дошел до первого экрана с опцией Да / Нет. Могу ли я толкнуть новую активность / намерение из MenuActivity? Когда я хочу показать секундомер, могу ли я запустить новый сервис? Или мне создать метод в существующем сервисе? Буду ли я всегда модифицировать одну и ту же живую карту или мне нужны отдельные экземпляры живой карты для каждого экрана? Заранее благодарю за любую помощь.

1 ответ

Решение

Действия на стекле работают так же, как на других устройствах Android. Ты можешь позвонить startActivity или же startActivityForResult чтобы вставить новую активность в стек активности, вы можете вызвать finish чтобы отклонить действие программно, и управлять стеком другими способами.

Похоже, что поток, о котором вы спрашиваете, связан не столько со стеком активности, сколько с запросом пользователя перед запуском сервиса (потому что сервисы должны использоваться для публикации живых карт). Если я понимаю ваш вопрос, вы хотите что-то вроде этого:

  1. Ваш голосовой триггер назначен действию, которое отображает пользовательский интерфейс с приглашением "Вы хотите запустить секундомер?"
  2. Переопределение активности onCreateOptionsMenu чтобы заполнить меню опциями Да / Нет. (Вам не нужно отдельное действие меню при использовании меню в действии, только при присоединении меню к живой карте.)
  3. Вы переопределяете onKeyDown или использовать детектор жестов для вызова openOptionsMenu когда пользователь нажимает внутри действия.
  4. Если пользователь нажимает Да, вы обрабатываете это внутри onOptionsItemSelected и позвонить startService запустить сервис, который затем публикует живую карту.
  5. Убедись в finish активность, чтобы она не оставалась после того, как она больше не нужна.
Другие вопросы по тегам