In a post on the Android Developers Blog earlier today, Google has given us yet another indicator of upcoming changes to the Android platform. When KitKat launches, it will finally introduce a public API for the last remaining functions texting apps could not achieve without diving into private APIs. Developers are often advised to stay away from private APIs since they can change with each new version and may not be kept consistent across different OEMs.

The key component of the new system is a setting where users can choose their default texting app, and it will be guaranteed access to every SMS and MMS message received by the phone. As a part of this change, the selected app will exclusively receive the new SMS_DELIVER_ACTION and WAP_PUSH_DELIVER_ACTION intents when new messages arrive. Additionally, only this app will have permission to write to the SMS Provider, the central repository where your messages are stored.

Much of the wording makes it sound like sending and receiving of messages may become more limited, but the post never specifically states existing public methods will be restricted. Contrary to some interpretations, there is nothing in Google's post that clearly indicates that this will cause problems for apps that use texting for security, parental tracking, or even those used for spying. For now, it appears applications will still have the ability to watch for incoming messages through the existing SMS_RECEIVED_ACTION (notice, it's Received instead of Deliver) and to send messages through the SmsManager.send* methods. The only major change is that modifications to the database are restricted to the default app.

There are some drawbacks to the new system for both developers and users. Text messaging replacement apps should be modified to avoid sending messages if they are not the current default, since they won't be able to write the sent messages to the database. Unfortunately, this will effectively corral users into sticking with a single app for texting, which probably means the end of having one app for primary messaging while also having something like Facebook's Chat Heads around for quick replies.

Google's post also calls out backup and restore apps which are popular among modders. Developers of these apps are advised to guide their users through changing the default app, restoring their database, then switching back to the original app immediately after. Unfortunately, this flow will make it difficult for cloud messaging and cross-device syncing apps, neither of which will have much recourse with the new restriction.

Hopefully, these changes won't be too disruptive, but it seems likely some users will find their favorite apps crippled by the new restrictions. Developers of texting apps will want to add the necessary permissions and intent filters to their manifest to ensure they appear in the list of apps users can choose as a default. Support for the new API will come with Level 19, so app developers will want to keep their eyes peeled for the Android 4.4 SDK.

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.

Comments

If he installed 2 sms applications and didn't disable notifications on one of them

http://www.androidpolice.com/ Artem Russakovskii

Yes but why would that result in 2 sent messages?

Hayden Lueck

I'm guessing he left his primary Messaging app on and just started using a third party SMS app and it started doing everything twice. I've never seen it where it send messages twice, but I have left 2 messaging apps on at once causing me to get 2 notifications.

http://www.androidpolice.com/ Artem Russakovskii

Right, I'm more interested in duplicate messages in the SMS db because that's exactly the kind of robustness I can see Google addressing with these new requirements.

Hayden Lueck

Yeah, I'm not sure if he worded it funny or somehow did actually manage to make everything send/receive twice.

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

Are you actually getting 2 notifications for every message that comes in and two identical messages go out to your friends every time you send something from one app? Is only one of those things happening? If both are happening, that sounds like something that happened with the OEM or custom ROM more than it would be an app or Android itself.

ZH40

Didn't they say that sms-function will be integrated into Hangouts? Why is it still messaging app?

Jerish Brown

No official word on it yet, though it's very likely.

Bojan Gutic

It's all just being labeled as "messaging apps" because there are many third party messaging apps on the play store.

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

Even when/if SMS is integrated into Hangouts, the basic SMS functionality is still handled at the OS level. We refer to the app and the lower level function by the same name, but they really are two different things.

ZH40

My mistake. I thought those two screenshots were from KitKat, and wondered why it's still messaging.

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

Ahh, I see what you mean. That's a good point, and it makes me wonder if the screenshot was either done a long time ago and only now seeing the light of day, or it might have been done with a build destined for AOSP (which should still have the messaging app). On the other hand, it could have just been a mock-up done by somebody at the last minute.

pfmiller

Hangout SMS support hasn't been announced yet, so of course Google isn't going to use it in documentation.

Brian

SMS was not broken, but thanks for fixing it anyway Google!

Fernando

If ain´t broke, don´t fix

Alberto Blasi

Keep using that wood cart until it breaks then. Now if you excuse me i have a flight to catch.

Stacey Liu

SMS itself wasn't broken, but the AOSP Messaging app was a pile of crap. Receiving multiple images in an MMS was a fucking nightmare.

Primalxconvoy

This is why I, and many of my friends, use Line. I got it because sms isn't global and third party sms apps like Handcent, couldn't send even single pictures or mms messages.

mesmorino

How is SMS not global? It's about the most global of mobile messaging systems

Primalxconvoy

Because sms requires a message to be sent from phone number to phone number, which isn't supported by every country (it may require roaming fees and/or additional international dialling codes). I've never been able to sms my parents in the uk from my Japanese phone, for example.

mesmorino

Huh, I didn't know that. For me it's always worked- always more expensive, but it's always worked -no matter what country I texted.

Could it be something that's network operator or country specific? I haven't sent a message to Japan before but I do text a friend in HK regularly

Primalxconvoy

Japan has always been behind with mobile technology. For every step they've taken forward (j-phone was the first, I think, to feature emails and photo email attachments in phones), they take 4 steps back (Japan has only recently adopted sim cards and allowed mp3s and other global standard file formats into their phones, mainly just prior to the iphone coming to Japan).

Sms can so easily be replaced with products like Line, Tango, Facebook Chat, etc, which use a data connection, not the phone connection, to send messages to any carrier/country/phone in the world.

Simon T

People still use MMS?

huh...

Stacey Liu

Yeah that makes it ok, doesn't it? Don't make a feature usable because it's becoming less prevalent.

And yes, people do. Android relies on MMS to handle group texts.

Simon T

I never said it was Ok, no need to get touchy. It is a genuine surprise to me that MMS is still used. One of my aunt-in-laws sent me one last year some time, but besides that no one i know uses it. Group texts are practically non-existent here, even the oldies use IM. But then again we do have cheap data plans here.

And actually yes, it makes perfect sense to prioritise features that are prevalent rather than spending countless man-hours fixing something that is dying out as fast as mobile internet is evolving. Not saying it shouldn't have been fixed ages ago, but it is an issue that affects the minority now.

Chris

With this ideology, I guess Google should stop pushing updates to our applications since you know, most of them work anyway. Improvements can always be made, no?

Sahil Chaturvedi

Just gimme some kit kat already lol

PhaseBurn

This is going to be a bitch. Besides breaking apps like DeskSMS and others, it will affect GPS locators that use text messages to trigger the tracking. Yes, those apps will still technically work, as in, they'll trigger when the text is received still, but they won't be able to remove the text afterwards so the user isn't aware they're being monitored or that the GPS was activated. This has implications for theft recovery applications as well as parental monitoring suites.

Lastly, with Hangouts 1.3 supposedly handling Google Voice and normal SMS now, this presents a problem for people like me who exclusively use GV for text messages, and DISABLE all SMS applications (to prevent unwanted spam texts). I used to get, on average, 3 to 4 texts a day from either my carrier directly, some random pharmaceutical company trying to enhance my (lack of a) sex life, or a horroscope, or even a misdirected "how r u" destined to the prior user of my device's phone number. I don't want them, and I don't want people texting my non-GV number, so I just disable Messaging, and presto, the problem has gone away. With Hangouts set to replace regular SMS as well as Google Voice SMS, I'm not sure this will be feasible in the future. Only time will tell, and while I do love the setting of allowing a default SMS application to be set by the system preferences, I'd rather not restrict writing to the message store to only it, and, I dearly hope Hangouts allows toggling on/off of GV and normal SMS independently of each other.

http://www.androidpolice.com/ Artem Russakovskii

All excellent points.

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

Yes, hiding the monitoring apps will be a bit trickier. However, rooted phones will still be able to function as before, since root apps can write to that database directly. This will unfortunately become a new reason for people to start rooting again when it was otherwise unnecessary.

I'm not sure what we can expect with the SMS and GV integration. It might be possible that you'll have a really goofy workaround where you can simply install an SMS app and disable its notifications, then never see them again. Depending on your carrier, can't you have them simply block your text messages entirely? I'm not sure who still does that, but I've had friends who've blocked everything on both AT&T and Sprint in the past.

Alexei Watson

Maybe they plan to roll GV into hangouts, unify that as well?

This could be an idiotic statement, we don't have GV in Australia.

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

I can't speak for everybody, but I think that's what most of us in the U.S. are hoping for. The current Google Voice app is not pretty or even as functional as it should be. There are indicators to suggest GV is making its way to Hangouts, but I'm skeptical about it happening with the next release version bump. If I were to guess (and it's wishful thinking, at best), I would shoot for I/O 2014.

Simon T

I'd settle for a way to use my Google Talk credit to make calls on my phone. But I'm not holding my breath, given Google's history of (lack of) interest in non-US markets.

PhaseBurn

Cody, the vast majority of people are not rooted, and there's over 10 million installs of "Where's My Droid" alone, and that's not even counting the other services. Furthermore, while some services receive a text message as the trigger, and use a data connection to a server to return the GPS location data, some applications do so via text message as a fallback in the event there is no available data service, and that functionality will break under the new system. For the tiny percentage of rooted phones, that may not be an issue, but that's little comfort to everybody else I'm afraid.

As for disabling SMS, there's 3 types of SMS: person to person, service to person/person to service, and email to sms gateway services. I've asked my provider to block all 3 of them, and, they will not, under the guise that they "need" to be able to text me my bill data, my minutes used should I ask, and any other "service announcements" they feel I should see. Those texts fall into the "service to person" category (think texts to/from 5/6 digit codes), and they generally don't block those. Additionally, emailing [email protected] (or, whatever your provider's email to sms gateway is) also delivers emails to your device in the form of text messages. This is also not something they typically block, even upon request, and if you ask, it'll take you hours to get to a representative who knows how to disable this "feature". Most don't even know it exists. The only thing I've been able to get my provider to block (and stay blocked) are incoming texts from other mobile devices (person to person), and that hasn't helped my spam count a whole lot.

I may have to install a 3rd party SMS app just to disable it, which would take up storage space, and battery because most of them run as a service in the background. Trivial, I know. But every little bit helps, and it just sucks that I'll likely have to "work around" something that Google decided to "fix" that wasn't really broken to begin with. Again, I fully support the idea of having a default SMS app setting, but, I'd really like the ability to disable texts all together on the phone side, while not losing Google Voice in the process when they merge GV and SMS into Hangouts.

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

I'm not disagreeing with you about the significance of that message being visible, or that rooting isn't viable for a lot of users, I'm just saying that some apps will probably still employ that method.

I am familiar with the different types of text spam, but I guess my friends have had better luck with their carriers. It was just a suggestion, as most people never know this is something they can even try to ask for.

Tim Norris

You seem to be forgetting the other option that Google has, with GV, they can even get the Spam filters to set up automatic text bouncing, even black/whitelisting of texting accounts. (Imagine only contacts/carrier options for kids, even approved contacts might be an option).

If I can dream that they are fixing the issue, I can also dream that they are actually looking ahead to actually change the carriers and prevent future issues from occurring.

Also have you tried to enable block spam numbers from GV yet (under settings). I had a lot of spam calls, and a few spam text, and after I enabled it they stopped, I don't know if it was success, luck, or coincidence, but it made me happier and I couldn't care.

Pierre Gardin

Have you tried an anti-spam app?

tookieboy

Who knows, maybe Google is preparing SMS functionality for ADM with this. There are so many possibilities; let's just wait and see what happens. It can't be long now. Whining about it won't change anything, especially when it's not even released yet!

faceless128

whining about things, even before they release, can indeed change things. look at Xbox One...

turdbogls

not sure if google is really worried about these GPS locator apps now that they have their own tracking software. yes, you (and me) use them, but I am personally OK with sticking to just google's service.

as for the GV and hangouts.....wouldn't it be possible to add your GV number into hangouts instead of your actual phone number? when you first set up the app, it asks for your phone number....just enter your GV number and you should be good right? you will send/receive texts through your GV number and not your actual phone number.

Shaques

It verified both my cell and GV numbers. Maybe you can choose... maybe it can handle both?

While those apps are great, if you code using backdoor methods, you really can't expect that app to function the same forever.

Edit: If it's the steps required to a unified messaging client, I say it's worth it.

Sam

Any ideas on what would happen to apps like MightyText?

Nimer55

That was my number 1 concern when I first read this news too. I'm really worried about losing mighty text, unless Google integrates it into hangouts; but I really don't want to lose my ability to send/receive texts from my computer.

Chris

Don't worry, this isn't going to stop MightyText from updating their software to support the API. You'll be fine.

akshay7394

No, that's not the point. Point is that, from now on, you'll have to set MightyText as the default texting app for all the sent messages to be written to the main database; which will completely screw with the functioning of your phone whether you do or don't.

(i.e. if you set it as default, then everytime you switch back to using your phone you have to switch another app to default again; and if you don't put mightytext to default then you won't get any sent texts writen to the database. I'm not sure if incoming is affected, though.)

EH101

The obvious solution is for MightyText to make their Android syncing app a full fledged messaging app replacement.

Also, it likely will be easy for someone to make an app or shortcut that initiates the sms chooser. I know at one point I had something similar for home launchers.

I really think most that are complaining are over-thinking the issue.

akshay7394

Yeah, that was my first thought about MT too. I was just explaining it to Chris :)

About the shortcut - going by the screenshots in the article it looks like there'll be a popup whenever you enter the app which would make it pretty easy on it's own. Only problem I'd see (with mightytext in it's current state) is that you'd have to go to your phone, switch defaults, then use MT. Switching back to whichever app you use as default would be easy

EH101

It may be possible for an external app to just set the default without venturing into the system dialog. This way, MightyText could just have a button on their app's interface to set it default for you guys. If that is possible, in theory, they could have another button that would set up another messager back to default for you when you're done. It really depends on how Google went about coding this stuff.

I don't use MightyText myself, but those of you that do should start asking them to make the Android app a messaging replacement. It'd only make things easier for y'all when KitKat drops.

akshay7394

yeah that seems feasible, going by what this API sounds like. But I guess we'll have to wait for the actual release to see what they make possible.

Paul Taylor

That's not an obvious solution - it's not a solution at all. The whole point of MightyText is that it's supposed to be seamless from the mobile side. Nobody installed MightyText with the intention of interacting with it on their phone. The bottom line is, this kind of app running silently in the background will no longer be possible. So I can wave goodbye to MightyText and Backup to Gmail. Root Call Blocker will continue to be able to send out autoreplies, as it has root access to the SMS provider, but it sounds like it might not be able to stop the default SMS app from displaying the 'blocked' messages. To put it bluntly, it sounds like there's going to be a lot of useful functionality taken away until the community find new ways to do it.

EH101

Yes, no one installed MightyText with that intention. But guess what? All your bitching doesn't make any difference. The obvious solution still is the solution, whether you like it or not. If MightyText converts to a full fledged sms app that performs the syncing in the background, it still accomplishes its main goal. Period. Stop crying.

Paul Taylor

Bitching? Crying? What a juvenile response when I'm simply pointing out the obvious - it's no solution for previously background apps to be converted to fully fledged SMS applications since only one will be able to operate at a time. It's not my fault you seem unable to comprehend this. As for whether I like it or not, that's immaterial. It's a purely technical limitation that's being introduced - period, as you might say.

EH101

The only one being juvenile is you. You are crying about 3rd party apps that used unofficial means to perform unofficial functions.

Instead of crying because your toy got taken away, grow up and live with it. There is a solution. Whether the app developer(s) will implement it is unknown but it is there.

The best solution would be for some developer to make a single all-encompassing sms replacement that did these things, but that is a big job for probably little return, so I wouldn't expect it.

Paul Taylor

I'm not going to follow any more of your replies, as you clearly don't have a clue what you're talking about. Good day to you sir.

EH101

Thanks for playing, and proving your ignorance.

Chris

I'm sure they will incorporate permissions of some sort like they've done in the past. Would be counter productive to incorporate an API that hinders usability of well-known, popular applications.

Google won't screw us.

akshay7394

Not that they intend to screw us, but Google *has* left out things that would be glaringly obvious to include, before. :P

But I get what you meant, and it does in fact make no sense not to.

Theratchetnclank

Hangouts can message from your pc.

Robert Alex Kibler

Yeah, but hangouts is blocked on my company's network, where MightyText isn't. Almost all of us use it. Until they release a standalone desktop Hangouts app (which is extremely unlikely), I'll stick with mightytext for cloud syncing.

http://www.androidpolice.com/ Artem Russakovskii

I'm starting to think Google will release an SDK preview ahead of the sources or any Nexuses and final KitKat features. Maybe this is what the rumors around the developer circles have been about regarding October 15th... That would make sense - I believe Google has done this to the Honeycomb SDK once before.

Alexei Watson

Seems much more plausible.

Side note. "Nexuses"... yeah.. :/

cy_n_ic

Dont even start on nexuses, nexi, nexwhatever.....

Walkop

The correct plural term is "Nexus".

EH101

Actually, in modern language there are two acceptable/correct plural forms of Nexus: Nexuses and Nexus. Any dictionary should have them. ;)

Matthew Fry

Although, it should be understood that the main aim of dictionaries is to reflect current English usage. This is why words like meme, food baby, twerk, etc have been added to the dictionary. It's kind of a chicken/egg scenario. If the dictionary has it does that mean it's correct or is it just used incorrectly enough to be included? Should I just start using ain't cause it will eventually become an acceptable word? Did Chrome's dictionary just accept ain't as a word?!? Argh!

EH101

Lol. Good points.

I'd like to make it known that I was just pulling his/her leg.

shadowdude777

Sometimes language evolves. I know the Latin plural is just "nexus", but you don't see people saying "octopodes" just because the word was derived from ancient Greek.

I think "Nexuses" is also acceptable. I don't like "Nexi" but I see how people got that spelling. There are also other, more ridiculously-outlandish spellings like "Nexii" that shouldn't exist.

Pascal Welsch

I was thinking about the same. I'm sure it will released within the next days. I guess thursday.

I hope they fixed all layout bugs from api 18

Alvin Brinson

Hmm, this is probably going to cause a problem with SMS Backup, which I've used for a long time to make backups of all of my SMS to Gmail, so that I don't lose them upon wipe.

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

That situation is specifically covered. All it has to do is switch to being the default app for a couple of minutes while it does a restore, then you switch right back to your regular app. It'll be two extra finger taps when you restore your phone. If you're rooted, it might not even change the workflow at all.

Alvin Brinson

It has to catch the incoming messages though to automatically back them up. It would go from a an automatic process done every time I receive a text to a manual one.

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

No, it can still listen for the SMS_RECEIVED_ACTION intent like it always could. Nothing changes on the side of reading/backing up. All that changes is writing to the database during the restore process.

EH101

Also, this might improve sms backup apps overall functionality. Most sms backup apps I've seen can only do sms, so if you have a huge group message conversation and need to back it up, it gets to being a pain. This might help with that if access to the mms database is granted in the new api.

wkm001

I use MySMS to send and receive from a browser. AlarmBox scans incoming messages for keywords to alert me of messages from work. And I use the default Samsung messaging app.I REALLY hope I can continue doing all this.

Kellic

And this probably won't work with Google Voice will it? :|

Primalxconvoy

"... which probably means the end of having one app for primary messaging while also having something like Facebook's Chat Heads around for quick replies."

Due to the limitations of using a third party sms app like Handcent, I already supplement it with "Line".

If Line had custom/user ringtone support, more colour and graphical options, then I'd durable all sms functions and pretend that my sms WAS Line (like I've done with docomo's email service/app; replacing it with Gmail).

contact fbi

Contact fbi.gov for TV interruptor

Ryuuie

Hm...this might be a little weird.

I use Google Voice as my main SMS client, no one knows my real number but me. I have it set up that Voice routes my SMS to the AOSP Messaging app by changing a few settings around in the Voice app. I wonder how 4.4 will affect this.

A question though...how will this play out for the Nexus 4 and below? The Nexus 5 doesn't seem to ship with Messaging so it's probably fine but the 4 and Galaxy Nexus do.

I've said in previous comments here on AP that they COULD do like the Chrome situation where they left Browser on phones that shipped with it but as of the 2012 Nexus 7 and beyond, it'd ship with Chrome and not Browser. However, Browser still exists in AOSP and you can actually hack it into any device that didn't normally ship with it including the Nexus 4, Nexus 10, and both Nexus 7s. I originally thought that Google would do this with Hangouts too by leaving Messaging around just changing Hangouts so that it would handle texts but you could STILL use the AOSP Messenger. Pulling a Google Talk and completely removing the app would/could screw with the cheapie phones that only have AOSP with literally no changes.

However, this new information kind of breaks that (or supports it, depending on how it plays out). Since you're only allowed to have one default Messaging app

They could do one of two things, I'd say.

1. Remove Messaging only for Nexus devices and leave the updated Hangouts behind.

It's to my understanding that Nexus devices aren't 100% pure stock AOSP but basically Nexus ROMs that have added things such as Hangouts, Keep, and Chrome. If this is true, they could just remove the Messaging app from this and leave it in AOSP just fine.

2. Leave Messaging on and just give the updated Hangouts app with the 4.4 update.

With the changed SMS API, we would just select which one would remain as the default SMS app and the other would just not do SMS...but what about those apps that REFUSE to use the one we chose and just are poorly coded and want the app that originally did SMS out of the box? I did run into this a few times on my Nexus S with Browser vs Chrome. It was rare but it did happen. This would be a weird issue.

I don't know. It's late and I'm tired. Just something that was running through my head, not even sure if it makes sense. :v

http://jamieellis.co.cc/ Jamie Ellis

Hopefully the "Default SMS app" dialogue UI would be OS wide in 4.4+ therefore allowing options for default keyboard, dialer, launcher etc in an similar presented to user way

Default SMS option - why stop? others (e.g. Keyboard) will ultimately follow (4.4.x) even if it not in 4.4!

I think this change is a good thing if I read it correctly. Apps which need to monitor notifications will still be able to receive them correctly. At the moment apps such as Handcent consume the sms notifications at such a high priority that other apps don't have access to them. If I'm reading this correctly other apps will still be able to read the sms data which isn't currently possible when 3rd party apps don't play nicely.

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

I didn't specify it in the article, but it is mentioned briefly in Google's post:

"If you do handle theSMS_RECEIVED_ACTION intent on Android 4.4, don't cancel the broadcast because other apps might also need to receive it."

So, it's definitely still possible for non-default apps to be cut off if they aren't the first to receive the notification, but now there's a little certainty over which app will be first.

Bleakvision

I always wandered, who is actually maintaining these AOSP apps like Browser and soon SMS after Google abandons them? Are there ever feature updates?

Russ

Google doesn't abandon them, it just didn't include them on its own devices

http://j.mp/scottbeamer Scott Beamer

Uhh... well they don't appear on non-Google devices.

Russ

Yeah but their still there in AOSP for anyone that wants them. And they appear on a lot of cheap Chinese things...

sQueezedhe

Does this mean i can't use smspopup and stock messaging in concert anymore?

Chris Pick

Looks like a good security feature to prevent the high dollar texting from nefarious apps.

faceless128

it doesn't stop apps from sending texts, it just stops them from writing the sent texts to the message database... something those scam apps never did anyway.

Bob

Actually, it automatically saves them when they are sent, unless the app is the 'set' app. Of course MMS behaves differently because .

tokuiten

Sounds like you can get around these restrictions by creating a proxy app that listens for DB write requests from other apps to write on their behalf and forwards the *DELIVER_ACTION intents to other apps and then making that your default SMS app.

faceless128

RIP SMS Popup. RIP MightyText.

http://www.txtimpact.com/sms-marketing.asp TextMessage

SMS (Short Messaging Service) is among the most widely used
communication tool in the world today. This technology has changed the
communication industry since it was introduced and it has become an important
tool for businesses to reach their customers in many parts of the world and
more prominently .

cdolson

Is there a way to change the default system SMS gateway away from the cell carrier and to some other server? Such as a VoIP provider with sms support?