5

我正在使用 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

我做错了什么?

4

2 回答 2

5

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

于 2012-06-17T15:42:02.073 回答
0

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

EasyTracker.getInstance().setContext(this);

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

于 2013-05-11T07:33:48.813 回答