There are a number of ways you can push messages to your device:
-> Polling - The mobile application would periodically poll one of your services and check for messages. However, as numerous people have pointed out, notifications are no good if they’re delayed due to a low polling period but the more frequently you poll, the more the battery is going to die.
-> SMS - Android can intercept SMS messages but you are limited by the size of the SMS payload.
-> Open a persistent connection - This fixes the polling issue listed above but would kill the battery.