2012-01-15 2 views
1

У меня есть действия, которые необходимо начинать с состояния. Он очень похож на сценарий входа. например:Активность андроида на условиях

  1. , если пользователи не вошли в систему, войдите в систему регистрации. после правильной аутентификации перейдите к активности профиля.
  2. , если пользователи уже вошли в систему, перейдите к профилю напрямую.

обновление: Я думал о перенаправлении при входе в систему деятельности, но если пользователи хит кнопку назад он вернуться в журнал активности, я не хочу, чтобы это произошло.

Как это можно достичь? Спасибо за помощь.

ответ

7

Существует два способа сделать это. Вы упомянули первый: из Login активность запускает второе действие, если пользователь уже вошел в систему, , но вызовите метод активности входа после того, как вы запустили второй. Таким образом, пользователи не смогут вернуться к активности входа.

Другой - это создание третьего действия, которое называется LauncherActivity или что-то в этом роде. Из этого действия вы решаете, какую деятельность запускать. В этом случае вам также придется использовать метод финиша, чтобы убить LauncherActivity.

+0

Мне это нравится. Благодарю. – bingjie2680

1

В вашей деятельности по запуску мы работаем с этим условием. За 1 старт одно намерение, а для 2 другого. Для предотвращения сценария «back-button» переопределите onKeyDown в вашей активности запуска.

+0

см. Мои обновления, спасибо за ваш ответ. – bingjie2680

+0

@ bingjie2680, обновил мой ответ. –

+0

ОК. кажется, является решением, спасибо. – bingjie2680

2

Создайте мероприятие без Ui, которое рассмотрит это решение в Oncreate, а затем вызовет финиш() в самой Oncreate. Чтобы эта активность не запускалась при нажатии клавиши «назад». Также добавьте андроид: theme = "@ android: style/Theme.NoDisplay" для этой операции, чтобы у вас не было этого, давая черный экран

+0

спасибо за ввод. – bingjie2680

2

Мне понравилась идея с финишной обработкой, я бы сделал то же самое, но также я бы предложил добавить разрешения для ваших действий, чтобы запретить их прямое использование с помощью метода startActivity().

+0

как это сделать? – bingjie2680

+0

просто просто определите свое собственное разрешение в манифесте и добавьте его в свою активность. Вы можете найти здесь всю необходимую информацию о том, что http://developer.android.com/guide/topics/security/security.html – Orest

+0

благодарит за вашу информацию. – bingjie2680

Смежные вопросы