After checking the Android SMS API, I still get confuse about the document explanation.
http://developer.android.com/reference/android/telephony/SmsManager.html
In the API, it mentioned that SmsManager.sendTextMessage(), it described as below: Note: Beginning with Android 4.4 (API level 19), if and only if an app is not selected as the default SMS app, the system automatically writes messages sent using this method to the SMS Provider (the default SMS app is always responsible for writing its sent messages to the SMS Provider). For information about how to behave as the default SMS app, see Telephony.
So, does it mean that only in Android 4.4 and above, if the app is not default SMS app, then using sendTextMessage() will also add to content://sms/sent? If the device is below 4.4, then app is responsible for adding to content://sms/sent for the message sent?
I tested on sendTextMessage() on Android 4.3 and 4.2.2, it will not write to SMS provider.
http://developer.android.com/reference/android/provider/Telephony.html In the Telephony API document about Creating an SMS app Only the default SMS app (selected by the user in system settings) is able to write to the SMS Provider (the tables defined within the Telephony class). I don't understand what the tables defined within the Telephony class?
I tested in Android 4.4.2(Nexus 5), use sendTextMessage() then then add insert the sent message to content://sms/sent. It is successful. The app is not default SMS app. It still can access to the SMS provider. So i don't understand the document explanation that only default SMS app is able to write to the SMS provider....
For deleting a sms message In the below thread: Delete an sms from inbox Here, replied that to delete an sms, need to delete on "content://sms/conversations/". But why not from "content://sms/inbox"?
Thanks a lot for your kindly response.