2013-02-22 28 views
5

Tüm iletileri uri içerikli konu kimliğine göre aldım: // mms-sms/conversations/{threadId}, ancak işe yaramaz ve istisnalar çıkar:Android'deki ThreadID kullanıcısına ait tüm mesajları bul

java.lang.NullPointerException

android.os.Parcel.readException de

(Parcel.java:1333)

android.database.DatabaseUtils.readExceptionFromParcel de

(DatabaseUtils.java:182)

android.database.DatabaseUtils.readExceptionFromParcel de

android.content.ContentResolver.query de (DatabaseUtils.java:136) android.content.ContentProviderProxy.query de

(ContentProviderNative.java:358)

(ContentResolver .java: 311)

ancak
........ 

, ben içerik olarak değiştirin zaman: // sms/konuşmaları/{ThreadId}, bu atmaz, ama sadece mms için, sms için çalışır.

neden?

+0

herhangi adamlar böyle şeyler üzerinde çalışmış çalışır? – Binary

cevap

4

sms ve mms tabloları farklı sütunlar var, doğru yolu Yukarıdaki kod böylece ben böyle değişti gibi sözdizimi hatası gösterir

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); 
+0

Evet, belki de haklısınız. Başka seçeneğimiz yok gibi görünüyor. – Binary

+0

Belgelerden: @param seçimi Hangi satırların döndürüleceğini bildiren bir süzgeç SQL WHERE deyimiyle (WHERE'nin kendisini EXCLUDING olarak) biçimlendirildi. – Yaroslav

+0

@Yaroslav düzenledi. Teşekkürler. – vikki

1

olduğunu, kendi başına her getirme etmektir.

Cursor c= getContentResolver().query(Uri.parse("content://sms/"), null, "thread_id=" + messgid, null, null); 

Benim için ince