This issue was reported several times, but still not resolved yet. I read all messages/thread which somehow related to this topic either in Samsung's developers site or in StackOverflow
Let me again describe whole problem just in few words:
Developers used to get list of SMS conversations through simple query like:
Uri.parse("content://mms-sms/conversations/");
Cursor cursor = context.getApplicationContext().getContentResolver().query(uri, null, null, null, null);
or something like this. Key point here's URI address: content://mms-sms/conversations
Everyone knows that it's unofficial and one's doing it on his own risk - see proof link here
But, critical point here's a simple fact this code doesn't work properly only in Samsung Galaxy S3 and some models of Galaxy Tab 2. It produces NullPointerException
with stacktrace:
java.lang.NullPointerException
at android.os.Parcel.readException(Parcel.java:1431)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:188)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:140)
at android.content.ContentProviderProxy.query(ContentProviderNative.java:366)
at android.content.ContentResolver.query(ContentResolver.java:372)
at android.content.ContentResolver.query(ContentResolver.java:315)
In all other devices of the rest of the World/Universe it works well! Strange, huh?
I know answers like: hey dude, it's your problem, since presence/correctness of aforementioned URI doesn't guaranteed, nevertheless, does someone has more productive idea?
I have already posted question to Samsung's developers through their forum.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…