In beta versions of the Android OS there were some APIs for push notifications. These were removed because of performance reasons and the general practice is to use pull. This is used by the email application (not to be confused with the Gmail application).
The gmail application does have push email. From joelapenna.com
:
The way push notifications work for the google apps like gmail and gtalk are by way of TCP connections with long TTLs. This allows the phone to wake up intermittently as the gsm radio will do (on the measure of microseconds) to see if new data has arrived on the wire. This implementation though, requires its own backend and for each service doing it, we'd be draining the battery even further...
Email cannot be used to notify for push events because the email application and the Gmail application do not have events or APIs to notify other applications. SMS does have some APIs that can be used for push.
Here are some good discussions on Android Push:
- Developer Forum Message

- Push services using persistent mobile TCP connections

- Push Notification Presentation

- MQTT

- Stack Overflow
- not useful but links to some almost useful things. - Four square's experience

