How to get all messages by ThreadID in android
android, mms, sms
Solution
the sms and mms tables have different columns, the correct way is to fetch each on its own, that is
Cursor smsCur = cr.query(Uri.parse("content://sms/"), null, "thread_id=" + threadId, null, null);
Cursor mmsCur = cr.query(Uri.parse("content://mms/"), null, "thread_id=" + threadId, null, null);
Problem
I tried to get all messages by thread id with uri:content://mms-sms/conversations/{threadId}, but it doesn't seem work and throws exceptions: java.lang.NullPointerException at android.os.Parcel.readException(Parcel.java:1333) at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:182) at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:136) at android.content.ContentProviderProxy.query(ContentProviderNative.java:358) at android.content.ContentResolver.query(ContentResolver.java:311) ``` ........ ``` however, when I change it to content://sms/conversations/{threadId}, it will not throw these, but only works for sms, not for mms. why?