31
Oct
2013-10-31_14-27-49

You might remember a couple of weeks ago when Google gave developers a heads up about changes to KitKat that might cause problems for SMS apps. At the time, we knew that this only meant there would be a single app in charge of writing to the database, while all of the others would...well, that part wasn't really defined. Today, one in a series of developer videos gave us a little clarification on what it means to be a default app, and what it means for the rest of them.

As a quick refresher, here's specifically what we knew. One app at a time would be registered as the "Default SMS App" and it was the only app allowed to write to the SMS Content Provider, a central repository for all of my text messages. This app had to implement Receivers for SMS and MMS, a Service for creating and sending SMS, and provide an Activity for composing a new SMS (sorry for the developer terms there). By being the default, the app was guaranteed to get every single message by listening for SMS_DELIVER_ACTION and WAP_PUSH_DELIVER_ACTION. This last bit is important because it was previously possible for other apps to intercept a message and cancel it before your normal texting app ever saw it.

As for the apps that aren't default, we already knew that they could continue sending messages if they had the proper permissions, reading from the database of messages, and listening for new messages through SMS_RECEIVED_ACTION and WAP_PUSH_RECEIVED_ACTION. We were also told that any app can check which is the default for SMS using Telephony.Sms.getDefaultSmsPackage() method and request to turn itself or any other qualified app into the default with the Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT Intent.

2013-10-31_14-53-54

Ok, we already knew quite a bit; Google's blog post was pretty detailed. However, there are a few things covered by the video that should answer most of those nagging questions. To begin with, the SMS Content Provider will automatically log every SMS message sent by a non-default app. The same is not true for MMS, which can only be logged manually by the default SMS app. Further, only the default app is allowed to make any changes to the database, which can include actions like marking a message as read or deleting it.

Overall, this changes are pretty good if you like to use more than one messenger. Most people would already want everything they send to be recorded and shared across apps, which is precisely what is supported. As previously discussed, backup and restore tools will require a few extra button taps, but that should be little more than a minor inconvenience. Security apps that quietly send content like GPS coordinates and pictures aren't really in bad shape either, but they will have to adjust their methods to send everything through MMS to avoid detection from a thief. Unfortunately, if those security apps were triggered by a text message sent from another phone, there won't be much of a way to hide that without elevating the status of your security software to default. The only true casualty to this change will be the apps that rely on cloud syncing to duplicate text messages across devices. Sadly, this class of utility is going to have a hard time keeping everything organized.

As you can see, the threat level for this change is pretty insignificant. There will be a few casualties - and that is unfortunate - but there is no need to fear that you will be forced to use a single app for your texting requirements.

Cody Toombs
Cody is a Software Engineer and Writer with a mildly overwhelming obsession with smartphones and the mobile world. If he’s been pulled away from the computer for any length of time, you might find him talking about cocktails and movies, sometimes resulting in the consumption of both.

  • Derek R.

    New Hangouts app still doesn't work with Google Voice. In "https://www.google.com/settings/account", there's no way to get rid of what phone numbers are there, only uncheck them. This may be why it's not working for me, but can't be sure.

    Voice+ works flawlessly.

    • http://shanked.me/ Shank

      They said it would not work with Google Voice out of the gate, but would in the future. Voice+ is probably the best way to go.

    • John O’Connor

      hangouts will not work with google voice at all? or will only work with a)sprint integration or b)rooted alterations or c)something not covered

  • david coffey

    Dude Google changed the game with this new update. Downloaded the new hangouts apk and I love it. Hangouts can replace my penis for all I care.

    • WHO?

      You may want to use it alittle more as its not all that especially without Google voice integration for picture mail and emojis.. Would hate for it to replace your body parts making them half useful.

      • david coffey

        Could care less about Google voice. I understand if some features may not work. It's just an apk. All I know is this update, particularly the sms, is everything I've been wanting in hangouts.

        • Ray

          Same here. Loving the update. I've been hanging out for it since Hangouts was first launched. Finally it has arrived. SMS and hangouts in the one app.

      • Michael Minton

        Plus it's still laggy at least on my s4. Also mms isn't working all that great, actually not at all. Plus they need to incorporate merging contacts currently on g+ into one thread. And even the possibility of Gmail accounts currently not on g+

        • PainToad

          Funny. Works perfect and smooth on my cheap Nexus 4. Enjoy your TouchWiz junk.

        • Andy

          It's smooth even on my Nexus S

          • Jamie Andrews

            Ngl it even works wonders on my Nexus One...

        • stang68

          I wouldn't judge the app...it was pulled from the Nexus 5. You should uninstall and wait for it to push out to your device via Google Play.

      • Foreigner

        Google Voice is US only. The rest of us dont give a flying fuck.

        • dobbsy

          Google Voice works world-wide but you need to set it up in the USA. I'm in Canada and have a Los Angeles GV number. I know this still won't affect a lot of people but thought I'd clarify.

    • Michael J Carroll

      Does the replacement penis have anything to do with r/android/ eating dicks?

    • bob bob

      This is the greatest comment.

  • David

    So say we use desksms/tabletsms. Does hangouts sync SMS messages we get through our phone with our tablet/desktop now?

    • WHO?

      That would be too useful. Tried it for you and......NO

      • Corentin Béchade

        OK that part I don't understand. What's the use of merging SMS into hangouts if it doesn't sync on all of your devices. I mean if I'm chatting to someone hangouts to hangouts does it goes through data or regular SMS network ?

        • Ryan Reith

          I agree. The real benefit as I see it would be removing the line between Hangouts on different devices. Which basically means adding SMS hangout messages to PC and tablet hangouts

  • varun

    Well shit. That's the end of MightySync, something I use daily. Ditto SMS Backup+ probably. Augh.

    Of late, every change Google has made seems to be for the worse, not the better. :-/

    • WHO?

      The reason i use Google voice is so I can do everything from computer and phone. Now they didn't combine the two and taking away functionality for people who don't have Sprint integration such as yourself.

      My guess is it will be rolled in to desktop hangouts next yr but then again carriers probably wont allow that. That would be free texting unless its synced to your phone....

      Too confusing.... I feel like they are making decisions as they wake up each day.

    • squiddy20

      I could be wrong, but as I understand it, sms backup apps won't go the way of the dodo. Instead, it'll just take the few extra taps to make the app the default app to then be able to actually backup the messages. Of course, then when you're done, you have to remember to change the default app back to what it was previously. If I interpreted that all correctly, that is.

      • varun

        Well, on closer reading, it's MightyText that's fucked. SMS Backup+ can still receive notification of SMSes and back them up, but a restore requires it to become the default app, and then a switcheroo. But MightyText is completely, utterly, fucked. Someone needs to write a framework that feeds data to multiple SMS apps simultaneously, stat.

        • Chidozie Emelue

          strange thing is mighty text is made by ex google employees... but if Hangouts can become a sms sync through pc then im all for it.. Lol Google just needs to acquire their former employees

        • John

          I don't really see how MightyText is screwed...from what I understood, MightyText can continue to detect when new SMSs arrive and read the SMS database. The only change comes when sending SMSs - with 4.4, MightyText will have to send texts via a request through the default SMS app, whereas before it just sent the text directly. But if the default SMS app accepts the request, then won't MightyText work normally?

          • http://www.androidpolice.com/author/cody-toombs/ Cody Toombs

            MightyText can still send without a problem. The issue is that it can't insert text messages into the central repository of the phone unless it is the default text app. In other words, a message sent on phone A will not appear in phone B's text messages. MightyText can account for this by internally storing a database and merging messages together for the user, but it will only be visible from within MightyText, whereas the old method used to make all messages visible from any texting app.

          • varun

            Well, yeah, but having multiple repositories of messages is a sub-optimal situation. I might as well then use WhatsApp or Viber, instead of SMS and/or MightyText.

            This feels like a regression and I'm not sure what the upshot is. Perhaps it solves a problem that non-Nexus users have, but as someone who is Nexus-only, I'm baffled by the decision making that led us here.

          • http://www.androidpolice.com/author/cody-toombs/ Cody Toombs

            Believe me, I wasn't trying to say it's good for MightyText, it makes the usage considerably more obnoxious. To be fair, as long as MightyText is the default app and any other texting app is expected to log everything, then you are just fine...unless you have a need for yet another app requiring write access...

            I can't really say there's a specific Win to be found from this change. It lowers the odds of an app misbehaving, if that's even a problem these days. All in all, I think this is about cleaning house and making the API public and official. That's good because it means there won't be undocumented changes in the future causing several apps to break with a new version (as easily).

          • varun

            I guess the point of my rant, if you can call it that, was that if they had invested the time and energy into building a new framework that was publicly documented and officially supported as a stable API, then wouldn't it have made more sense to build a framework multiple apps could plug themselves into?

            With my conspiracy hat on, I guess this a way of locking you in to using the default SMS app, Hangouts, which means you're also locked into the Google ecosystem for chat, instead of using, say, WhatsApp, Facebook, Viber, etc. It does make me quite sad in one way.

          • John

            But MightyText doesn't provide functionality for syncing SMS databases between 2 phones...does it? I thought that it only allows tablets and desktop users to send texts through one phone, and I presume that when MightyText sends a SMS through the default SMS app in KitKat, the default SMS app will then log the text to the phone's central repository properly. That's how I use it, at least...

    • shonangreg

      I just got an S5, and when it asked, I decided to use Hangouts as the defaults SMS app. I figured I would be getting more integration. For google, this might be true. We are using their one app for both SMS and google Hangouts messages. But for me, it was actually dis-integration.

      Hangouts shows the SMS messages only on the phone. Those messages are invisible on Hangouts on a tablet. I had been using MightyText without much problem. Phone, tablet, or PC web browser. MightyText made my SMS device-agnostic. Hangouts amazingly didn't mirror this functionality.

      Then when I tried going back to the phone's built-in message app for SMS along with MightyText, it kept failing to send messages. So, finally I removed Hangouts as the SMS app, unlinked my tablet and phone in MightyText. Rebooted and relinked the phone and tablet MightyText apps, and now it all appears to be working again.

      http://mightytext.net/RzWsoU5 is a link to MightyText.
      Use the link and I'll get points.
      m(_ _)m

  • Guest

    The thing is, it doesn't handle the SMS/IM switch automatically as iMessage does. I was really excited for this update.. now Im just waiting till it gets rolled out to me

  • drawkcaB

    I wonder how this will affect apps like Cerberus who are activated by sms but kill the message before it hits the inbox so that it remains stealthy.

    • http://shanked.me/ Shank

      The message may still be displayed. Although, if your phone has a lock code on it, it would be trivial to pop another notification up to prevent the contents of the message from appearing in the notification bar.

      • drawkcaB

        Ah but I don't have a lock code additionally I would have it that my phone runs as normal so that don't know they are being tracked.

  • Brandon Price

    Hm. Cloud syncing apps would have to be set as default, but could then let you choose which messaging app you wanted to use from within the syncing app. Similar to the way some apps hack in a double-press home function by setting themselves as the default home screen, then allowing you to choose your actual home app. I see no reason why this wouldn't work.
    The hackery involved makes the hack-loving side of me happy, but at the same time the thought that this is being made necessary when it previously wasn't is awful.

  • Joseph Thee Best

    Didn't work at all on my N4, any ideas why? I'm running PA 3.99

    • Wis

      Worked perfectly fine on my GNex with PA 3.99

  • Brian Koppe

    Well there goes the benefit of Tweetification :(

  • _artem_

    Does it mean I still have to keep the stock sms app, or I can use any other sms app which doesn't require the stock sms app to be installed... e.g. is there a way to make smsdroid (open-source project) to work without the stock sms? So I don't have to keep both... right now I have both installed however I only use smsdroid and have to disable any notification from the stock sms app so I don't get notifications from both sms apps

  • bikermunda

    So can I send the SMS through my computer Google hangouts ? Or not ?

    • dsass600

      No. That will never happen, unless you use Google Voice. You can send hangouts from your computer though.

      • http://www.androidpolice.com/author/cody-toombs/ Cody Toombs

        Never say never ;)

        You're right, Hangouts isn't currently capable of this and the only way to send SMS from a regular web browser is to use something like Google Voice or another service with that capability. Once Google Voice and Hangouts are integrated for the phone, there's a good chance that the same will eventually become true for the web interface. We know it's eventually going to happen on the phone, so it seems logical that it will become an option throughout the product. I wouldn't bet on that happening right away, but it's hard to be certain.

        However, I really hope I can get all of my friends to stop using SMS well before any of this can happen.

        • dsass600

          Only way of this happening would be like with Mightytext, where the message is send through the internet to your phone, which then sends it as a text to the recipient, but that seems so redundant. I do agree with your final statement though.

  • John Lauer

    This update will break Zipwhip. I know folks are talking about MightyText in this thread. They use similar techniques as Zipwhip does to sync all of your SMS/MMS to the cloud. Zipwhip is being used by millions of folks out there. T-Mobile has Zipwhip pre-loaded on millions of phones. Sprint uses Zipwhip as Web Texter Plus which has millions of users. U.S. Cellular uses Zipwhip. Zipwhip has roughly 8M users across all products. It's going to break millions of users' cloud texting experiences. The magic of cloud texting is that you could use your native app on your phone, but still mark as unread from your desktop, delete, receive MMS on your desktop, etc. Cloud texting has been a great category for Android--something that iPhone has never gotten a category for since they were too closed. Now Google is squashing the category. It is a huge impact and it's not clear why this limit of writing to the core SMS database really helps solve anything. All companies doing cloud texting like Zipwhip, MightyText, DeskSMS, MyText, etc will be broken.

    • Robbie Ward

      FWIW DeskSMS is working on my phone with KitKat

  • shail khan

    hi mama

  • John Smith

    I use an app that listens for SMS and MMS messages (and properly passes the received text on to the Android system) and plays a sound depending on the phone number that sent the text... will that be broken in 4.4 ?

  • Ryan Reith

    Is there any way to get SMS Hangout messages on your PC?

    • David

      MightyText does the job well and integrates well into Gmail with the Chrome extension.

  • Terry

    how do you send contact info, vcards to people in the defult 4.4 app on moto x or even the hangouts app??

  • Metaphysical1

    I can tell I'm in tall cotton based upon the comments I have read and my (in)ability to understand them. But, you sound like experts, so here goes.

    I updated my Android software about 3 weeks ago on my ATT compatible HTC One phone that uses Straight Talk. Before the update I could send and receive multimedia messages with my problem. After the update, I have NOT been able to send or receive multimedia messages. I have contacted ST, HTC, and Android and no one has been able to help me get the correct APN settings. For some reason, it sounds like the KITKAT SMS situation revisited sounds like it may be relevant, but as I said, I'm not sure I understood much of the article.

    Can someone here help me get SMS messaging again? I use the ATT message app. Thanks, in advance, to you kind people.

  • vice86

    Now any text i send through MightyText on the computer doesn't show up on my phone. Thanks Android.