Android Developers Need to Get SMS Apps Ready for KitKat
Google's upcoming Android KitKat will mean changes to the way the mobile operating system deals with SMS apps. Google is giving developers notice so they can get ready.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_ACTIONintent, 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."