如何通过android中的ThreadID获取所有消息

Bin*_*ang 5 sms android mms

我尝试通过线程id使用uri获取所有消息:content:// mms -sms/conversations/{threadId},但它似乎不起作用并抛出异常:

         显示java.lang.NullPointerException

         在android.os.Parcel.readException(Parcel.java:1333)

         在android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:182)

         在android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:136)

         在android.content.ContentProviderProxy.query(ContentProviderNative.java:358)

         在android.content.ContentResolver.query(ContentResolver.java:311)

    ........
Run Code Online (Sandbox Code Playgroud)

但是,当我将其更改为content:// sms/conversations/{threadId}时,它不会抛出这些,但仅适用于短信,而不适用于mms.

为什么?

vik*_*kki 6

sms 和 mms 表有不同的列,正确的方法是单独获取,即

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);
Run Code Online (Sandbox Code Playgroud)