SMS Apps: I Warned You...

SMS clients have long lived on the fringes of what is acceptable in terms of SDK compliance. As I mentioned in my recent blog post suggesting a particular security technique for SMS clients, a lot of the SMS-receiving support in Android is undocumented and outside the SDK.

That will change… with some substantial impacts on existing apps.

One of the specific things that I have repeatedly warned against — despite lots of StackOverflow downvotes — is that relying on undocumented providers is risky. The SMS ContentProvider has long been undocumented.

Well, the good news is that Google is documenting that provider and various SMS-related Intent structures.

However, as of Android 4.4, apps can no longer write to the SMS ContentProvider … unless they are the one magic SMS client that the user has established as a default.

The Android Developers Blog post on this subject outlines the basic changes, though things will become a bit clearer once we get the Android 4.4 documentation. And, I suspect that there will be a fair bit of confusion, for developers in the short term, and for users who get upgrades to Android 4.4 over time.

I do applaud Google for finally making SMS clients be a first-class part of the Android SDK. Let’s hope that the limitations that they have placed will prove successful over time.

Nervous about how the newest version of Android affects your app? Consider subscribing, then asking questions in the office hours chats!

— Oct 14, 2013