The often overlooked addition to Android OS version 2.2 is Cloud to Device Messaging (C2DM), that enables developers to push data messages to the handsets. This is the brains behind Chrome to Phone, a Chrome extension that allow users to send links and a lot of other info to their Android set right from their browser.
The process works as follows:
1. The Android app registers with the C2DM service and gets a device registration ID for the users. It sends this registration ID along with the user’s account name to AppEngine server.
2. AppEngine server authenticates the user account and stores the mapping from account name to device registration ID.
3. The Chrome Extension accesses the URL and page title for the current tab, and POSTs it to AppEngine server.
4. AppEngine server authenticates the user and looks up the corresponding device registration ID for the user account name. It then HTTP POSTs the URL and title to Google’s C2DM servers, which subsequently route the message to the device, resulting in an Intent broadcast.
5. The Android application is woken by its Intent receiver. The Android application then routes the URL to the appropriate application via a new Intent (e.g. browser, dialer, or Google Maps).
Again, it requires Android 2.2, so for all who are running Froyo, can download both the Chrome extension and the Android app here.