I am implementing Localytics.com useage statistics in my Android app. I am still just testing.
I note that just starting my app and then immediately exiting will register two sessions (as they are called by Localytics) in the live statistics.
I have followed the guidelines in Android Integration.
My app consists of a main Class of the TabActivity type. This TabActivity holds two tabs in which I display two other activities. Like this:
setContentView(R.layout.main);
mTabHost = getTabHost();
Context ctx = getApplicationContext();
Intent addTodo = new Intent(ctx, AddTodo.class);
Intent listTodos = new Intent(ctx, ListTodos.class);
mTabHost.addTab(mTabHost.newTabSpec("tab_1").setIndicator("New note").setContent(addTodo));
mTabHost.addTab(mTabHost.newTabSpec("tab_2").setIndicator("Saved notes").setContent(listTodos));
mTabHost.setCurrentTab(0);
I instantiate the Localytics object in all three Activities like this:
this.localyticsSession = new LocalyticsSession(
this.getApplicationContext(),
"identifier");
this.localyticsSession.open();
So, the above code lines are repeated in each of the three Activities.
In the TabHost Activity (only in this Activity) I then follow the instantiation with a
this.localyticsSession.upload();
And then (only in the TabHost Activity) I have these to finish things off:
public void onPause()
{
this.localyticsSession.close();
super.onPause();
}
public void onDestroy()
{
this.localyticsSession.upload();
super.onDestroy();
}
Any suggestions on how to make my code generate just one session per app-launch?