it seems like the emulator also does not call pauseApp().
Is it recommended, that I overwrite hideNotify() method of class Canvas to pause my Application?
If my MIDlet looses Focus, I wanna leave the Canvas and set the current Display to the MainMenu.
But the emulator hangs, if I invoke display.setCurrent(menu) in the overwritten hideNotify method, as soon as the MIDlet looses focus (i.e pressing "END" key).
Will this work on real device? If not, what is the recommended way to "manually pause" my aplication at loss of focus?
Again, as far as I know, Nokia Java implementations don't call the hideNotify(), not at least when the system screen (e.g. incoming call) hides the midlet. Especially in Series 60 MIDlet runs happily in background as Symbian is a multitasking OS.
What you can do is to try to guess in the program that the user is not in interactive mode. Each time user presses a key a time variable is reset to the value of current time. A thread (Timer) checks this value. Let's say that the user hasn't pressed any key in few seconds. Then the game can go into a hibernation mode (with a suitable message shown to the user). User looses maybe few points or a life, but at least the whole game might not be lost.