2011-06-24 10 views
5

एटीएम मैंकैसे किसी संपर्क का डिफ़ॉल्ट फ़ोन नंबर पता लगाने के लिए (यदि सेट)

String where = ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId; 
Cursor c = ctx.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, where, null, null); 
    while (c.moveToNext()) { 
    String number = Tools.getString(c, CommonDataKinds.Phone.NUMBER); 
    String label = Tools.getString(c,CommonDataKinds.Phone.LABEL); 
    } 

Android के साथ संख्या और किसी दिए गए CONTACT_ID के लेबल के रूप में "डिफ़ॉल्ट संख्या" दी गई संख्या को चिह्नित करने की क्षमता है । अगर मैं पूछताछ संख्या डिफ़ॉल्ट संख्या है तो मैं कैसे पता लगा सकता हूं?

उत्तर

7

अपने CONTENT_URI क्वेरी में कॉलम IS_SUPER_PRIMARY के लिए क्वेरी करने का प्रयास करें।

यदि यह गैर-शून्य मान देता है तो प्रविष्टि को इसके प्रकार के डिफ़ॉल्ट संपर्क मान के रूप में व्याख्या किया जा सकता है (उदाहरण के लिए, संपर्क के लिए उपयोग करने के लिए डिफ़ॉल्ट फ़ोन नंबर)।

अधिक जानकारी: http://developer.android.com/reference/android/provider/ContactsContract.Data.html

+0

बहुत बहुत धन्यवाद। मैंने इसके लिए कुछ समय खोजा। मुझे आश्चर्य है कि दस्तावेज यहां इतनी कमजोर क्यों है। लेकिन एक संख्या को डिफ़ॉल्ट संख्या के रूप में चिह्नित करते समय SUPER_PRIMARY> 0 ठीक काम करता प्रतीत होता है! :-) – Flow

संबंधित मुद्दे