Положение активности в стеке активности - PullRequest
4 голосов
/ 18 февраля 2011

У меня есть приложения, которые содержат действия A, B, C и действие A, были запущены из модуля запуска, а B - из A и C из B. Теперь у меня есть кнопка в C, когда я нажимаю на кнопку, я должен указать положение активность c в стеке активности. Ex A-B-> C означает, что C находится в позиции 3 стека активности. Как я могу найти это?

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 08 января 2014

Используйте ActivityManager, чтобы получить стековую позицию активности, которую вы хотите

Может использовать следующий пример кода

ActivityManager mngr = (ActivityManager) getSystemService( ACTIVITY_SERVICE );

List<ActivityManager.RunningTaskInfo> taskList = mngr.getRunningTasks(10);

, чтобы получить позицию деятельности, которую вы хотите использовать для кода ниже.

taskList.get(0).topActivity.getClassName()

и позиция начинается с o (ноль).

Надеюсь, это поможет вам.

1 голос
/ 18 февраля 2011

Нет другого способа узнать это из-за того, как заданы задачи. См. это и это Таким образом, решение может состоять в том, чтобы отслеживать действия, сохраняя их во множестве действий. Надеюсь, это поможет.

0 голосов
/ 18 февраля 2011

Это возможно.

Что вам нужно, это действие, которое расширяет приложение. Вы также заявляете об этом в своем манифесте.

Глобальная переменная Android

Затем вы объявляете переменную в этом классе:

      public static int count = 0;

Тогда в каждом классе у вас есть

 @Override
 protected void onResume() {
    YourApplicationClass.count++;

 }

 @Override
 protected void onPause() {
   YourApplicationClass.count--;
 }

Затем вы знаете, в какой позиции вы находитесь все время.

System.out.println («Количество:» + YourApplicationClass.count);

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