It took forever to get a working Google Voice Push Notification system. I’ve tried using the old MASF protocol, the new JSON protocol with a custom intent, trying to intercept the official Google Voice app’s intents. None of that was working. But as of a few minutes ago, it’s done. It works. It works completely independent of whatever the Google Voice application is doing.
You don’t need the Google Voice app installed at all to get it working. It uses Android’s C2DM (Cloud to Device Messaging) framework.
Right now, there’s only one really small issue and that is: if you install Hermes after installing Google Voice, you won’t get notifications. If you install Hermes first and THEN install Google Voice, they both work. This is because both applications use the same intent permission using C2DM. It sounds a little weird but the way Android permissions work, the first app that installs a permission gets to dictate those permission’s protection level. So, when you install Hermes first, it creates a global permission stating any application can use the “Google Voice Inbox Notification C2DM” Intent (don’t worry, it’s listed as a permission, so not just any app can get that message). When you install Google Voice after, Android won’t change the permission’s protection level. If you install the Google Voice app first, it’ll lock it down to only itself, Google Voice app (boooo).
TLDR: Uninstall Google Voice, install Hermes, install Google Voice again.
The reality is, if you don’t use the official Google Voice app, then you don’t have any conflicts whatsoever. I’m working on a workaround to avoid having to do this uninstall. I should be able to let Google Voice get the intent and then, intercept it, after the fact. But if I can’t get it working, worst case scenario: you uninstall and re-install Google Voice.
But this was the biggest issue holding back the public beta release. Now, it’s gone. 🙂
Leave a Reply