问题
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.
回答1:
In the end I've figured how to overcome aforementioned issue (I am not sure that it's bug, but anyway it looks like a bug).
List of conversations can be retrieved through this query:
Uri.parse("content://mms-sms/conversations?simple=true");
Cursor cursor = context.getApplicationContext().getContentResolver().query(uri, null, null, null, null);
Keypoint here's URI content://mms-sms/conversations?simple=true
.
回答2:
I also encountered this problem and it seems that there is no solving for it atm. Checked @barmaley answer and it also produce same exception for me
@edit my friend just checked this on his sgs3 and it works! but he cannot get body/adress column, but its a start! It is very very weird that it works on his not on mine. Mine sgs3 is from Polish distribution and his is from usa... if there is difference between regions this can be worse than expected
来源:https://stackoverflow.com/questions/13553046/sgs-3-bug-related-to-sms-conversations-list