views:

20

answers:

1

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?

A: 

Hello,

I work for Localytics and would be glad to work with you to see this to completion.

It sounds like the close() call is somehow getting missed but that doesn't seem right based on your code sample. Whenever you create a new session and then call open it should simply re-attach to your existing session. This is even more strange because simply launching and exiting the app should only instantiate the object once. What LaunchMode are you running?

A helpful thing to debug this would be to look at the log. Start and exit your app in the emulator and take a look at the logcat output. Localytics will explain what it is doing and then we can debug it better.

Please feel free to contact us directly: [email protected] and we'll work with you on this.

-- Henry

henry
I'll mail you.I am almost sure that the error is in the LocalyticsSession.jar file that I include in order to use the service.I have been using Wireshark to see what gets POSTed to the Localytics server and I do not see the session ID in the package that is going over the wire.
Jbruntt