Android google analytics easytracker - 在启动器活动崩溃的onCreate方法中跟踪事件调用

时间:2012-06-15 16:34:00

标签: android google-analytics

我正在使用EasyTracker谷歌分析库,我的应用程序有多项活动。 我希望每次在应用启动时跟踪事件设备模型和系统版本信息。

我的启动器活动的onCreate方法中的此代码

EasyTracker.getTracker().trackEvent("Others", "App launch", "The os version", 0);

崩溃
06-15 21:24:30.898: WARN/dalvikvm(1203): threadid=8: thread exiting with uncaught exception (group=0x4001d800)
06-15 21:24:30.898: ERROR/AndroidRuntime(1203): FATAL EXCEPTION: TrackerThread
        java.lang.NullPointerException
        at com.google.android.apps.analytics.GoogleAnalyticsTracker.createEvent(Unknown Source)
        at com.google.android.apps.analytics.GoogleAnalyticsTracker.trackEvent(Unknown Source)
        at com.google.android.apps.analytics.easytracking.GoogleAnalyticsTrackerDelegateImpl.trackEvent(Unknown Source)
        at com.google.android.apps.analytics.easytracking.EasyTracker$11.run(Unknown Source)
        at com.google.android.apps.analytics.easytracking.EasyTracker$TrackerThread.run(Unknown Source)
06-15 21:24:30.918: WARN/ActivityManager(58): Force finishing activity com.mycompany.myapp/com.mycompany.activity.HomeActivity

我做错了什么?

2 个答案:

答案 0 :(得分:5)

你得到一个NullPointerException,因为跟踪器是在基类TrackedActivity的onStart方法中初始化的,它发生在onCreate之后。 但是,TrackedActivity会自动跟踪活动的创建(trackPageView),所以通常在这里不需要trackEvent。您可以在活动的生命周期中在onStart和onStop之间的任何其他方法上成功调用trackEvent。

答案 1 :(得分:0)

请记住在activity.onCreate中添加以下代码:

EasyTracker.getInstance().setContext(this);

使用任何跟踪器功能之前。