I've been using Content providers to access all sorts of sms and mms on an app of mine, what i've found is that in some devices there are some data that are not stored in the content providers which are usually found in the content providers . like for example i was not able to retreive RCS messages from a samsung device that uses samsung messenger as their default messaging app but it was retreivable on another samsung device that uses samsung messanger as their default messaging app. I found this very weird