如何知道应用程序何时打开(而不是在调用onCreate时)?

时间:2012-02-07 17:38:41

标签: android statistics

我想在Android中跟踪应用程序打开,但问题是当方向更改时,可以多次调用onCreate for main活动。还有另一种跟踪应用程序打开方式吗?

3 个答案:

答案 0 :(得分:1)

可以使用除onCreate()之外的其他方法:

  1. 的OnStart()
  2. OnRestart()
  3. 的onResume()
  4. 您需要查阅文档的this page,以便更好地确定哪一个符合您的需求,因为它们在不同情况下都会被调用。

    或者,您可以随时自行处理方向更改,这样在屏幕旋转时不会调用onCreate()方法:

    对清单文件的修改:

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

    在Activity:

    中添加此方法
    /** {@inheritDoc} */
    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
    }
    

    希望这能回答你的问题。

答案 1 :(得分:0)

您是否想要考虑自己处理方向变化?这样,在方向改变时不会调用onCreate(如果你有不同的potrait和landscape布局,这不是一个好主意)。然后,您可以依赖onStart方法,该方法在关闭/打开屏幕时或活动恢复时调用。

答案 2 :(得分:0)

调用onCreate时活动打开,调用onDestroy时关闭。每个onCreate将始终与onDestroy配对;当方向改变时,活动(默认情况下)首先被销毁,然后以新方向重新创建。