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.