我正在尝试跟踪用户会话的长度(使用Mixpanel-但这个问题与Mixpanel无关)。 当用户启动应用程序并启动计时器时,我发送“AppStart”事件。 我发送一个“AppStop”,包括用户停止应用程序时的计时器持续时间(后退按钮,历史记录,主页按钮,......) 我的第一个想法是使用活动生命周期回调,但我的应用程序包含几个活动,我不想发送事件来切换它们。 你会如何解决这个问题?
答案 0 :(得分:0)
如果您还没有,请创建一个Android Application
课程,并使用registerActivityLifecycleCallbacks
为您的所有活动onResume
运行以下代码,另一个对于您的所有活动onPause
:
@Override
public void onActivityResumed(Activity activity) {
if (counter == 0) {
sendEvent("app-start")
}
counter++;
}
@Override
public void onActivityPaused(Activity activity) {
counter--;
if (counter == 0) {
handler.postDelayed(new Runnable() {
public void run() {
if (counter == 0) {
sendEvent("app-stop");
}
}
}, 1000);
}
}