Как узнать счет активности моего приложения? - PullRequest
5 голосов
/ 25 марта 2011

У меня есть несколько действий в моем приложении.Пожалуйста, рассмотрите следующий случай ...

Деятельность A вызывает Acitivy B. B вызывает C. Когда пользователь нажимает клавишу возврата C, генерирует уведомление и приходит к B. Теперь снова нажмите назад, чтобы отобразился A, и снова нажмите клавишу возврата.также завершится и A, и отобразится уведомление ... Теперь, когда пользователь нажимает на значок уведомления Activity C, загружается .... До тех пор, пока эта часть поведения не будет корректной .... Теперь пользователь нажимает обратно, я запускаю действие A, используя свой код какC был загружен из уведомления.

В другом случае действие A вызывает Acitivy B. B вызывает C. Когда пользователь нажимает клавишу возврата C, генерирует уведомление и приходит к B. Теперь пользователь нажимает HOME KEY.Затем через некоторое время выбирает значок уведомления, он будет отображать действие C. Теперь пользователь нажимает клавишу «Назад», по умолчанию он отображает действие B (что я хочу) .... Но мой код (как C, загруженный из уведомления) ... imотображение действия A (n пользователь нажимает, затем отображается действие B).

Я хочу узнать счет активности моего собственного приложения, чтобы я мог избежать выполнения своего кода для запуска действия A (если это не так).1).

Пока я сделал это, используя следующий код

ActivityManager actM = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> listm = actM.getRunningTasks(1);
int iNumActivity = listm.get(0).numActivities;

Но использование этого кода требует разрешения на использование GET_TASKS ... Мне это неудобно, так как я не отслеживаю другие приложенияданные / счетчик активности.

Как это исправить?Есть ли другой способ добиться этого?

РЕДАКТИРОВАТЬ Как узнать счет активности своего приложения?

Ответы [ 2 ]

1 голос
/ 25 марта 2011

Если проблема заключается только в счете ... создайте статическую переменную счета в классе, скажем, Константы. или может быть три из них .. поэтому всякий раз, когда вы переходите к определенному классу ... добавьте соответствующую статическую открытую переменную.

Редактировать: Вы также можете вести подсчет активности в общих настройках.

0 голосов
/ 25 марта 2011

Один из способов - поместить показанную активность в стек (singleton) из onResume () в каждой из ваших операций и вставить ее, когда нажата кнопка «Назад».Таким образом, всякий раз, когда нажимается «Назад», вы узнаете текущий стек действий.Поскольку это будет общим для всех классов, это поможет сохранить значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...