2012-09-19 8 views
6

मैं एक एंड्रॉइड एप्लिकेशन पर काम कर रहा हूं। मैंने निम्नलिखित यूरी से प्राप्तकर्ता_आईडी प्राप्त की।"canonical_addresses" तालिका से पता प्राप्त करें

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

अब मैं canonical_addresses " table using the recipient id. But I don't have any idea to query canonical_addresses table" से पता लाने के लिए चाहते हैं। मैंने वेब में बहुत कुछ खोजा। समाधान दोस्तों को ढूंढने में मेरी मदद करें।

उत्तर

13

कैनोनिकल तालिका में दो कॉलम, _id और address हैं। जब आप प्राप्तकर्ता आईडी प्राप्त करते हैं तो आप उस आईडी के लिए कैनोनिकल पतों तालिका में एक लुकअप करते हैं। अधिक प्राप्तकर्ताओं के लिए आईडी, एक रिक्ति से अलग होती है तो आप की तरह

recipient_ids.split(" ")

परिणाम विभाजित है और प्रत्येक आईडी देखने के लिए होगा।

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

या

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

@ Vikki..thanks एक बहुत – sarath

+0

यह sooo मदद की बहुत – toobsco42

+0

हे @Vikki, क्या आप uri "सामग्री से thread_id प्राप्त करना चाहते हैं, तो: // एमएमएस-एसएमएस/बातचीत? सरल = सच "। आप वह कैसे करेंगें? – 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(); 
संबंधित मुद्दे