based on your other questions today, do you really want to wait 3 seconds, or do you want to wait to get a location or the results of the makeJsonRequest()? (both of these can be MUCH faster in the sim than on the real device.)
You could put up the message, do a one-shot to get GPS, call MakeJsonRequest to request the data in onPosition, and in onRecieve, call Ui.requestUpdate(), where either the data or the error would be displayed, replacing the earlier message..
I want a widget to wait 3 seconds to show a message before carrying on. Whats the best way to do this..?
You can't just wait for 3 seconds. The watchdog would viciously attack your app, and tear it down. You have to set a timer to call you back in 3 seconds.
If you want a real 3 seconds, create a one shot timer (repeat=false) for 3000 ms, and in the "onTimer" for that, carry on.. No trouble with a watchdog that way, as for that 3 seconds, you're not doing anything.
But remember, on a va widget with no Comm permissions, that widget will only live for 10-15 seconds.