Я не уверен, почему вы хотите сохранить активность на переднем плане, когда часы находятся в режиме ambient, но я думаю, что есть лучший способ сделать это:
1) Если вы хотите, чтобы ваше приложение продолжало что-то делать (считывать данные с датчиков и т. Д.) В режиме окружающей среды, используйте Service
.
2) Если вы просто хотите сохранить состояние своей активности, сохраните его в Bundle
и используйте его для повторного заполнения пользовательского интерфейса при повторном запуске приложения.
Поддержание активности, когда она не показана, является пустой тратой памяти и батареи.
Я предлагаю изменить вашу активность, чтобы показывать только в интерактивном режиме. Пусть система убьет его, когда устройство перейдет в режим окружающей среды. Тогда ваш циферблат будет отображаться автоматически. Вы можете снова запустить приложение со своего циферблата, когда активируется интерактивный режим.