2012-02-07 3 views
0

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

ответ

0

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

1

Другие методы, чем onCreate():

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

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

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

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

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

Добавить этот метод в деятельности:

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

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

0

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

+0

onDestroy обычно не называется ОС ОС, когда действие завершается. http://developer.android.com/reference/android/app/Activity.html#onDestroy%28%29 – Jimmy

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