Android Developers Need to Get SMS Apps Ready for KitKat
The upcoming Android KitKat mobile operating system is going to deal differently with SMS apps that use hidden APIs, so Google is advising developers of the changes so they can adjust their SMS apps for the next version of Android.
"Some of you have built SMS apps using hidden APIs—a practice we discourage because hidden APIs may be changed or removed and new devices are not tested against them for compatibility," wrote Android developers Scott Main and David Braun in an Oct. 14 post on the Android Developers Blog. "So, to provide you with a fully supported set of APIs for building SMS apps and to make the user experience for messaging more predictable, Android 4.4 (KitKat) makes the existing APIs public and adds the concept of a default SMS app, which the user can select in system settings."
That means that developers who are using the hidden SMS APIs in their apps will have to make some adjustments so that those apps can continue to work when Android 4.4 is released, they wrote. "On Android 4.4, only one app can receive the new
SMS_DELIVER_ACTION intent, which the system broadcasts when a new SMS message arrives. Which app receives this broadcast is determined by which app the user has selected as the default SMS app in system settings."
Developers must take several steps in their app's code to accomplish this, as detailed in the blog post.
Another key step to getting apps ready for the transition to KitKat is for developers to disable some app features if their app is not selected as the default SMS app, wrote Main and Braun. "It's important that you disable the ability to send new messages from your app because, without the ability to write to the SMS Provider, any messages you send won't be visible in the user's default SMS app," they wrote. "To enable your app to send and receive messages, you can display a dialog hosted by the system that allows the user to make your app the default SMS app."
Adjustments must also be made on apps that back up and restore a user's SMS messages, they wrote. "Because the ability to write to the SMS Provider is restricted to the app the user selects as the default SMS app, any existing app designed purely to back up and restore SMS messages will currently be unable to restore SMS messages on Android 4.4. An app that backs up and restores SMS messages must also be set as the default SMS app so that it can write messages in the SMS Provider."
Developers are being urged to update their SMS apps so they are ready and compatible with KitKat when it is launched, wrote Main and Braun. "We encourage you to update your apps as soon as possible to provide your users the best experience on Android," they wrote. "To help you make the changes, we'll soon be providing the necessary SDK components for Android 4.4 that [will] allow you to compile and test your changes on Android 4.4."
KitKat was been gaining steam recently after the new name of the mobile operating system was announced in early September. The Android KitKat moniker displaced months of rumors about a supposed Android Key Lime Pie version. KitKat also is interesting for users because it is being numbered as Version 4.4, and not as 5.0 as also long rumored, meaning that it is perhaps an evolutionary release rather than a revolutionary version.
Users have been waiting for the next version of Android since Android 4.1 Jelly Bean debuted in July 2012 on various devices. The 4.1 final release came just a few weeks after its big splash in late June 2012 at Google's I/O Developers Conference.
An interim Version 4.3 of Android followed the original 4.1 release this past July, which included new developer features, including restricted profiles, Bluetooth Smart Support and improved 3D graphics. Android 4.3 was described by Google as a sweeter version of Jelly Bean. Android 4.3 included new APIs and capabilities for developers to incorporate into their Android apps.