The Blackberry has the ability to receive data that is 'pushed' to it from a special application (Mobile Data Service) running a sever (Blackberry Enterprise Server). Well, I think I have that right. If not then someone please correct me.
What I don't know what must a J2ME implementation running on a Blackberry device do to receive this 'pushed' data? I'm trying to understand some of the implementation details so that I might be able to create some sort of abstract push facility that I could use across devices/J2ME implementations.
Not many J2ME devices can listen for incoming messages and then act on them (a.k.a. receive a push).
You'll mostly be limited to devices which support something like JSR 205.
The MessageListener interface provides a mechanism for the application to be notified of incoming messages.
When an incoming message arrives, the notifyIncomingMessage() method is called. The application MUST retrieve the message using the receive() method of the MessageConnection. MessageListener should not call receive() directly. Instead, it can start a new thread which will receive the message or call another method of the application (which is outside of the listener) that will call receive().