feel free - i'll add the code to my blog next week with some more detailed instructions, i've been using it for a few months now with no problems.
i use invokelater from my background thread to get rid of the popup, pushing the new screen - this is a little naughty as it leaves the timer process running:
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
UiApplication.getUiApplication().popScreen(UiAppli cation.getUiApplication().getActiveScreen());
UiApplication.getUiApplication().pushScreen(new myScreen());
}
});
- but it's performed fine for what i need, you could add some code using Screen.onExposed and/or Screen.onObscured() inside the progress class to check when the new screen has been pushed from the background thread so it can cancel the timer operations, alternatively you could have a boolean in a logic class it routinely checks to see if it still needs to be active - this isn't the most elegant/proper way of doing it - but it works.
in action: