Как узнать, когда приложение открыто (а не когда вызывается onCreate)? - PullRequest
0 голосов
/ 07 февраля 2012

Я хочу, чтобы приложение открывалось в Android, но проблема в том, что onCreate для основного действия может вызываться несколько раз при изменении ориентации.Есть ли другой способ отслеживать открытость приложения?

Ответы [ 3 ]

1 голос
/ 07 февраля 2012

Могут использоваться другие методы, кроме onCreate():

  1. OnStart ()
  2. OnRestart ()
  3. OnResume ()

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

Кроме того, вы всегда можете самостоятельно справиться с изменением ориентации, чтобы метод onCreate() не вызывался при повороте экрана:

Изменения в файле манифеста:

<activity
    android:name=".ActivityName"
    android:configChanges="keyboardHidden|orientation" />

Добавьте этот метод в упражнение:

/** {@inheritDoc} */
@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
}

Надеюсь, это ответит на ваш вопрос.

0 голосов
/ 08 февраля 2012

Действие открывается при вызове onCreate и закрывается при вызове onDestroy. Каждый onCreate всегда будет связан с onDestroy; при изменении ориентации действие (по умолчанию) сначала уничтожается, а затем воссоздается в новой ориентации.

0 голосов
/ 07 февраля 2012

Хотите ли вы самостоятельно обрабатывать изменения ориентации? Таким образом, onCreate не вызывается при изменении ориентации (что не очень хорошая идея, если у вас разные макеты для портрета и ландшафта). Затем вы можете положиться на метод onStart, который вызывается при выключении / включении экрана или при возобновлении активности.

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