Это на самом деле очень простая вещь: мне нужно знать, есть ли МОЯ активность в стеке истории? Я не говорю о других приложениях, просто о моем собственном приложении. И мне даже не нужно знать, кто они или сколько их, мне просто нужно знать, ЕСЛИ ЛИ? Есть ли способ добиться этого? (ActivityManager.getRunningTasks (). TopActivity () не для этой цели.)
(Я реализую функцию перемотки назад / вперед, как это видно во многих браузерах. Сначала я пытался управлять своим собственным стеком истории и вообще не использовать Android. Поэтому я использовал noHistory = true для всех действий в манифесте. Это приводит к проблеме, заключающейся в том, что поведение приложения является странным, когда дело доходит до взаимодействия с другими приложениями или средством запуска. Теперь я попытался использовать стек истории Android для операции Backward, но мой собственный стек для Foreward. Но затем он сталкивается с неожиданной проблемой .... Мало того, в приложении есть соображения безопасности, так что я не могу позволить пользователю вернуться к каким-либо действиям, если файл заблокирован. Мне нужен полный контроль над стеком.
Меня беспокоит модель жизненного цикла Android и стек истории в течение нескольких дней. Чрезвычайно негибкий. Как они могут предположить, что все приложения, все действия в мире ведут себя так, как они представляли в лаборатории !!! ??? Видя множество людей, задающих вопросы в Интернете в этой области, и мне кажется, что все зашли в тупик, а затем попытались найти обходной путь, или компромисс, или могли бы также изменить спецификацию. Android существует уже 3 года, но они все еще не сделали ничего, чтобы сделать его более гибким. Я предполагаю, что это должно быть очень фундаментальным в дизайне с первого дня, чтобы они знали о проблеме, но ничего не могли с этим поделать Назовите это неправильным дизайном.)
(И это неблокирующие, несинхронизированные диалоговые окна / окна сообщений. Я не знаю, как они придумали этот дизайн. Всякий раз, когда вы хотите, чтобы пользователь что-то подтвердил, вы должны разбить поток программы на несколько частей. Это, несомненно, делает программу трудной для написания и невозможной для обслуживания! Если у вас есть ряд вопросов, один из которых зависит от другого, вы могли бы также упустить конечный автомат.)