Will Verduzco · Dec 1, 2013 at 06:00 pm

Write to SMS Content Provider in KitKat without Being Default SMS App

Alongside the various user-facing and security-related changes introduced Android 4.4 KitKat, Google also significantly modified how the SMS Content Provider works. In Android 4.4, users can now select a default SMS app from within Settings -> Wireless & Networks. Then, two intent broadcasts are sent: one for all SMS apps (SMS_RECEIVED_ACTION) and one for only the default SMS app (SMS_DELIVER_ACTION). Thus, non-default SMS apps are able to receive incoming SMS messages, but they are not able to do certain things such as abort the broadcast.

Despite the positive effect on software modularity afforded by being able to select a default SMS app, the change also brings a few limitations. Namely, in order to delete (or restore) an SMS message, your app must temporarily become the default app if it isn’t already. This is problematic from a UX standpoint because there will be two mandatory prompts, where the user must select the default SMS app: one to select your app and one to revert.

Thankfully, XDA Senior Member stepic came up with a workaround that allows app developers to write to the SMS Content Provider in KitKat without being the default SMS app. Stepic made his discovery by looking in the Android source code and finding a special permission: OP_WRITE_SMS. Unfortunately, this workaround either requires user interaction or root access. However, this is only a one-time affair, rather than two prompts for user input every time a non-default SMS app needs to perform certain tasks.

If you’re an app developer looking to make an SMS app for KitKat, head over to the guide thread to learn more about this workaround.


_________
Want something on the XDA Portal? Send us a tip!

Will Verduzco

willverduzco is an editor on XDA-Developers, the largest community for Android users. Will Verduzco is the Portal Administrator for the XDA-Developers Portal. He has been addicted to mobile technology since the HTC Wizard. But starting with the Nexus One, his gadget love affair shifted to Google's little green robot. He is also a Johns Hopkins University graduate in neuroscience and is now currently studying to become a physician. View willverduzco's posts and articles here.
Emil Kako · Mar 31, 2015 at 06:55 pm · 3 comments

What’s Your Biggest Reason for Not Owning an iPhone?

With XDA being a community of Android enthusiasts, it is not uncommon to see lots of bashing on Apple's iPhone here. There are different reasons for the hate, but we'd like to hear your number one reason for not going with the iPhone. Let us know your thoughts below!

DISCUSS
Mario Tomás Serrafero · Mar 31, 2015 at 11:55 am · 3 comments

Xiaomi Finally Releases Kernel Sources

If you are familiar with Xiaomi, you might have heard that they are not the most compliant when it comes to the General Public License that makes the core of Android open to us. The terms of the GPLv2 state that since the Android kernel is based on the Linux kernel, which is licensed under GPL,v2 Android has to be open-source for everyone to study or modify, and those that modify the Android kernel have to make their sources immediately available for...

XDA NEWS
Faiz Malkani · Mar 31, 2015 at 10:59 am · 2 comments

Xiaomi Announces Redmi 2A and More for 5th Anniversary

Xiaomi was founded on April 6th, 2010 and its fifth anniversary is just around the corner. In the past five years, the company has grown by leaps and bounds, rising to the positions of largest smartphone OEM in China and third-largest globally and coupled with its expansion plans and 100 million sales benchmark, this anniversary warranted a fervent celebration. After teasing products on its forums for a few days, Xiaomi held the anniversary event earlier today and staying true to the...

XDA NEWS
Share This