Android 使用带有FragmentActivity和ActionBarSherlock的EasyTracker

Android 使用带有FragmentActivity和ActionBarSherlock的EasyTracker,android,google-analytics,actionbarsherlock,Android,Google Analytics,Actionbarsherlock,我目前正在我的应用程序中使用ActionBarSherlock,我希望实现谷歌的EasyTracker for analytics 我已经看到TrackedActivity只在生命周期的不同部分调用了几个函数(getTracker()、trackStartActivity(Context)、trackActivityStop(Context)和TrackActivityRetainonConfiguration实例() 因为我已经将SherlockFragmentActivity扩展为我的基类,

我目前正在我的应用程序中使用ActionBarSherlock,我希望实现谷歌的EasyTracker for analytics

我已经看到TrackedActivity只在生命周期的不同部分调用了几个函数(getTracker()、trackStartActivity(Context)、trackActivityStop(Context)和TrackActivityRetainonConfiguration实例()

因为我已经将SherlockFragmentActivity扩展为我的基类,所以我需要将这些调用包含在它们各自的生命周期中。我遇到的一个问题是以下电话:

@Override
public Object onRetainNonConfigurationInstance() 
{
     Object o = super.onRetainNonConfigurationInstance();

     // This call is needed to ensure that configuration changes (like
     // orientation) don't result in new sessions.  Remove this line if you want
     // configuration changes to for a new session in Google Analytics.
     EasyTracker.getTracker().trackActivityRetainNonConfigurationInstance();
     return o;
}
问题是这个调用在FragmentActivity中是最终的,所以我认为它不能被覆盖

我应该如何处理轮换,以便新会话不会打乱服务器发送的数据

另外,作为旁注,当ga_调试参数设置为true时,调用trackStartActivity(上下文)是否应该有logcat输出


提前感谢:)

我找到的最佳解决方案是在onSaveInstanceState中添加一个布尔标志,这样会话活动计数器就不会增加。令人惊讶的是,所有考虑的事情都很简单:)

我找到的最佳解决方案是在onSaveInstanceState中添加一个布尔标志,这样会话活动计数器就不会增加。令人惊讶的是,所有的事情都很简单:)