Мне удалось получить уведомление от нашего приложения, чтобы оно появлялось на панели уведомлений в верхней части экрана всякий раз, когда оно получает толчок. Мое приложение представляет собой иерархию взглядов. У меня есть мой главный экран со списком. При щелчке по одному из этих элементов списка просмотра открывается экран сводки (также содержащий вид списка), а при щелчке по одному из элементов списка обзора экрана открывается экран сведений (последний экран в иерархии). Пользователь может нажать кнопку «Назад», чтобы вернуться вверх по иерархии на главный экран (или домашний экран).
Теперь мое приложение и большинство приложений в этом отношении, как правило, работают в фоновом режиме, пока кнопка «Назад» не будет нажата достаточно раз. Я установил свое Уведомление для запуска экземпляра mainScreen при его нажатии. Дело в том, что если приложение уже запущено, и я делаю это, оно создает еще один главный экран поверх всех других экранов, поэтому, когда пользователь нажимает кнопку «Назад» на главном экране (ожидая выхода из приложения), он возвращается чтобы какой-либо экран был активным, когда он оставил мое приложение работающим в фоновом режиме.
Итак, я мог бы вернуться к иерархии следующим образом:
главный экран -> подробный экран -> суммарный экран -> основной экран -> ВЫХОД
Есть ли способ, как я могу просто убить приложение и запустить новый экземпляр, когда пользователь щелкает мое уведомление? Как обычно обрабатываются эти клики уведомлений?
Надеюсь, это имеет смысл.
Спасибо.
(Edtied: все получилось, как и ожидалось, за исключением одной проблемы. Я был не совсем честен, когда сказал, что detailsScreen (activityB в вашем примере) был последним в иерархии. На этом экране у пользователя фактически есть опция для просмотра карты
Intent intent = new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse("geo:0,0?q=" + depLatitude + "," + depLongitude + "(" + name + ")"));
startActivity(intent);
Когда я нажимаю обратно на карту, идеальная ситуация для нее - вернуться на подробный экран, но в этом случае он возвращается обратно на главный экран.
Есть идеи?
)