Strongly Recommend: Push functionality launches a MIDlet. It is not responsible for notifying a running app that a message has arrived for it. You must ensure that your MIDlet can handle its own I/O once it is running.
Push functionality requires that the user give permission to automatically start the MIDlet. This is because launching a push-enabled MIDlet may require the currently running MIDlet to exit.