stuck with the same issue using Windows Phone.. I have tried serializing the session, which does not work because the session class has no default constructor.
EDIT: after two full days searching for the mistake I was making, I finally found out what I was doing wrong: I have to use the wl.offline_access scope to make this work!
Now everything is fun again. Can't believe that this was the problem. Tested & working. Nice!
As I can see, you are using the offline scope, so that's not the problem for you.
But I have found out more: there are two ways to connect to Live (in C#, I don't know how the methods are called in Java):
- use LiveConnectClient.LoginAsync (which comes with GUI)
- use LiveConnectClient.InitializeAsync (which is UI less and connects in background)
So if your application is already connected, use the second one to gain access to a new session object. AFAIK, this object is valid for one year, after that, the user has to sign in again. But don't quote me on that.
Please let me know if this works for you.