There is GPS used in the app, however, when the app starts there is a licenses checking process and if no license is found it starts the in app payment routine, and this is immediate.
I've just noticed in my code the gps is initialised after the license check routine, the bit that falls over.
I'll move it and re-run
Edit: that made no difference. If I by-pass the in-app payment routine then the code works fine.
I had a reply from Sharon and it seems as though the Zooz payment library has an issue with the tabhost library.
I'm no expert on what goes on in the background so i'll post Sharon's reply:
I’m far from being an expert in Basic4Android, but I know that there is an issue returning a result from an activity that is nested inside the tabHost. Our Activity returns a result, and your code fails when the library wrapper builds the result code. It seems that the code does not fail when using regular activities.