2016-03-01 40 views
1

我想查詢線程表mmssms.db,但是,我跑我的查詢時得到此異常。如何查詢mmssms.db線程表

Uri uri = Telephony.Threads.CONTENT_URI; 
    String[] prj = new String[]{"_id", Telephony.ThreadsColumns.RECIPIENT_IDS}; 
    Cursor cur = getApplicationContext().getContentResolver().query(uri, prj, "_id=?", new String[]{"10"}, null); 
    if (cur != null) { 
     System.out.println(DatabaseUtils.dumpCursorToString(cur)); 
     cur.close(); 
    } 

這個例外讓我覺得我以某種方式讓Uri的線程表錯誤。任何想法是什麼正確的方式來查詢mmssms.db中的線程表?

我可以通過將數據庫下載到我的計算機並在DB瀏覽器中打開它來驗證線程表是否存在於mmssms.db中。

回答

0

原來是Uri。這裏是工作代碼:

Uri uri = Uri.parse("content://mms-sms/conversations?simple=true"); 
     final String[] prj = new String[]{"_id", "recipient_ids"}; 
     Cursor cur = ctx.getContentResolver().query(uri, prj, "_id=?", new String[]{thread_id}, null); 
     if (cur != null) { 
      System.out.println(DatabaseUtils.dumpCursorToString(cur)); 
      cur.close(); 
     } 

關鍵的區別就在這裏爲:content://mms-sms/conversations?simple=true