GVoice Push Notification: FINISHED

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. :)

12 thoughts on “GVoice Push Notification: FINISHED

  1. Shane

    Will this app be able to replace GV entirely? As in, can it even initiate a call using the GV number, or is it exclusively for messaging?

    I’m curious if I’ll still have to have GV installed in order to make outgoing calls that come from my GV number.

    1. ShortFuse Post author

      I reversed engineered the entire API so I can easily implement it. At this point it’ll take longer to do the UI aspect than the connectivity part.

      The voicemails feature is actually what I’m more worried about, but once I finalize MMS and the structure behind it, it’ll be a lot easier. It’ll slip in like an standard MMS

  2. Izokronus

    Hey shortfuse, really appreciate the work you’ve been doing, and I’m pumped for this app! I just hope you’re not trying to be over ambitious and trying to please everyone, because there will always be one more feature request. Google voice calling and voicemail is all well and good, but I also think it goes against the original spirit and intent of this project, which was to produce a clean, lightweight *messaging* app.

    Anyway, thanks for all your time and dedication!

    1. Shane

      In some ways I agree. Perhaps there could be additional add-on apps that add functionality to the base messaging app. This could also be a form of monetization if there are no plans of it so far.

      Perhaps the original messaging app is free, but a donation version would allow the use of these additional add-ons, etc?

      I know everyone wants free, but if this app is as good as it sounds, ShortFuse deserves to benefit from all of his work.

    2. ShortFuse Post author

      Voicemail wouldn’t be any different than an MMS message with sound. It would look like a regular message in a conversation. That’s the idea. Of course, the problem would be if somebody who’s not a mobile user leaves you a voicemail, but I personally would want just one app for all communications with one person, email excluded (I don’t use email for anything other than attachments). Bloat is really specific to two things: speed and screen estate.

      Of course, nothing is mandatory and settings could be defined. If you don’t want something don’t enable it. Even so, the majority of these things will be off by default. I could slip voicemails, call logs, etc into the conversation thread. As long as it can be considered a conversation between you and the contact. Global twitter posts and Facebook updates go against the idea and that’s more “stalking” than conversing.

      Again, off by default. Easily I could add an option to “Include voicemails in conversations”


Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>