2012-09-19 37 views
6

Tôi đang làm việc trên một ứng dụng Android. Tôi đã tìm nạp recipient_id từ uri sau.Tìm nạp địa chỉ từ bảng "canonical_addresses"

content://mms-sms/conversations?simple=true 

Bây giờ tôi muốn tìm nạp địa chỉ từ canonical_addresses " table using the recipient id. But I don't have any idea to query canonical_addresses table". Tôi đã tìm kiếm rất nhiều trên web. Xin hãy giúp tôi tìm một người bạn giải pháp.

Trả lời

13

Bảng hợp quy có hai cột, _idaddress. Khi bạn nhận được id người nhận, bạn thực hiện tra cứu cho id đó trong bảng địa chỉ chuẩn. Đối với nhiều người nhận id được ngăn cách bởi một dấu cách, vì vậy bạn sẽ phải chia kết quả như

recipient_ids.split(" ")

và tra cứu mỗi id.

getContentResolver().query(Uri.parse("content://mms-sms/canonical-addresses"), null, "_id = " + recipientId, null, null); 

hoặc

getContentResolver().query(Uri.parse("content://mms-sms/canonical-address/" + recipientId), null, null, null, null); 
+0

@ Vikki..thanks rất nhiều – sarath

+0

này giúp sooo nhiều – toobsco42

+0

hey @Vikki, những gì nếu bạn muốn nhận được thread_id từ nội dung uri ": // mms-sms/hội thoại? simple = true ". Bạn làm điều đó như thế nào? – toobsco42

2
message = contentResolver.query(uri, null,null, null,SORT_ORDER); 
      if(message != null){ 
       while (message.moveToNext()) { 
         String id = message.getString(message.getColumnIndex("_id")); 
         String thid = message.getString(message.getColumnIndex("thread_id")); 
         String phoneNumber = message.getString(message.getColumnIndex("address")); 
         String person = message.getString(message.getColumnIndex("person")); 
         //String present = message.getString(message.getColumnIndex("reply_path_present")); 
         //Log.v("sms "+thid,id); 
         //Log.v("sms "+present,present); 
         if(phoneNumber !=null){ 
           //if(phoneNumber.contains("-")) 
            phoneNumber=phoneNumber.replaceAll("[-() ]", ""); 
         } 
         else 
         { 
          Cursor c =contentResolver.query(Uri.parse("content://mms-sms/conversations?simple=true"), null, "_id = " + thid, null, null); 
          //getContentResolver().query(Uri.parse("content://mms-sms/canonical-addresses"), null, "_id = " + recipientId, null, null); 
          if(c.moveToNext()) 
          { 

           phoneNumber = c.getString(3); 
           if(phoneNumber !=null){ 
             //if(phoneNumber.contains("-")) 
            Log.v(" id=>" +id+ " thid=>"+thid +" first = > " , c.getString(3)); 
           } 
          } 
          c.close(); 
          c =contentResolver.query(Uri.parse("content://mms-sms/canonical-addresses"), null, "_id = " + phoneNumber, null, null); 
          if(c.moveToNext()) 
          { 
           Log.v(thid +" second = > " , c.getString(1)); 
           phoneNumber = c.getString(1); 
           phoneNumber=phoneNumber.replaceAll("[-() ]", ""); 
          } 
          c.close(); 
Các vấn đề liên quan