2012-09-06 12 views
9

क्या एंड्रॉइड प्रत्येक संपर्क के लिए अद्वितीय स्थिर आईडी असाइन करता है?
यदि नहीं, तो क्या ऐसी जानकारी असाइन करने का कोई तरीका है? क्या मैं इस आईडी को Google संपर्कों में सिंक कर सकता हूं?अद्वितीय संपर्क आईडी

धन्यवाद।

उत्तर

4

एंड्रॉइड संपर्कों में दो प्रकार के संपर्क आईडी हैं।

एक CONTACT_ID अन्य ans है RAW_CONTACT_ID

इस ट्यूटोरियल देखें है। ANDROID CONTACTS

आशा है कि यह आपकी मदद करेगा।

+0

लेकिन मुझे नहीं लगता कि कि इन आईडी निरंतर अगर मैं उन्हें एक अन्य डिवाइस है कि मेरे गूगल खाते से लिंक है पर अपने आप समन्वयित हो जाएगा। क्या मेरे Google संपर्कों के साथ उपयोगकर्ता परिभाषित डेटा को सिंक करने का कोई तरीका है? निश्चित रूप से – user1651653

+0

नहीं। यह केवल एंड्रॉइड डिवाइस के भीतर अद्वितीय आईडी है। –

+0

यह प्रश्न का उत्तर नहीं देता है: क्या एंड्रॉइड प्रत्येक संपर्क में अद्वितीय निरंतर आईडी निर्दिष्ट करता है? हाँ या ना? – Simon

4

आप केवल सिंक किए गए Google संपर्कों के लिए अद्वितीय आईडी पुनर्प्राप्त कर सकते हैं। अन्य मामलों में आप अलग-अलग आईडी प्राप्त कर सकते हैं जैसे कि प्रत्येक संपर्क के एंड्रॉइड raw_id को तब भी बदला जाता है जब उपयोगकर्ता फ़ोन रीसेट पर संपर्क रीसेट या फिर से आयात करता है।

यदि आप डिवाइस के बावजूद संपर्क-आईडी में स्थिरता चाहते हैं, तो प्लेटफ़ॉर्म या तो केवल सिंक किए गए Google संपर्कों का उपयोग करें या उदाहरण के लिए अद्वितीय आईडी उत्पन्न करने के लिए कोड के चारों ओर अपना स्वयं का कार्य लिखें। संपर्क के नंबर के हैश मिलता है, नाम आदि जो शायद ही कभी बदलता है

0
ContactsContract.RawContacts SOURCE_ID 

एक स्ट्रिंग मान है जो विशिष्ट खाता है, जिसमें यह बनाया गया था

को यह कच्चे संपर्क की पहचान करता है एक सिंक अनुकूलक एक नया कच्चे बनाता है संपर्क करें, यह कॉलम कच्चे संपर्क के लिए सर्वर की अद्वितीय आईडी पर सेट होना चाहिए। जब एक एंड्रॉइड एप्लिकेशन एक नया कच्चा संपर्क बनाता है, तो एप्लिकेशन को इस कॉलम को छोड़ना चाहिए। यह सिंक एडाप्टर को सिग्नल करता है कि इसे सर्वर पर एक नया कच्चा संपर्क बनाना चाहिए, और SOURCE_ID के लिए एक मान प्राप्त करें। विशेष रूप से, स्रोत आईडी प्रत्येक खाता प्रकार के लिए अद्वितीय होना चाहिए और सिंक में स्थिर होना चाहिए:

अद्वितीय: किसी खाते के प्रत्येक कच्चे संपर्क का अपना स्रोत आईडी होना चाहिए। यदि आप इसे लागू नहीं करते हैं, तो आप संपर्क एप्लिकेशन में समस्याएं पैदा करेंगे। ध्यान दें कि एक ही खाता प्रकार के लिए दो कच्चे संपर्क एक ही स्रोत आईडी हो सकते हैं। उदाहरण के लिए, कच्चे संपर्क "थॉमस हिगिन्सन" खाते के लिए [email protected] को को खाते [email protected] के लिए कच्चे संपर्क "थॉमस हिगिन्सन" के रूप में एक ही स्रोत आईडी की अनुमति है। स्थिर: स्रोत आईडी कच्चे संपर्क के लिए ऑनलाइन सेवा के डेटा का स्थायी हिस्सा हैं। उदाहरण के लिए, यदि उपयोगकर्ता ऐप्स सेटिंग्स और पुन: सिंक से संपर्क संग्रहण साफ़ करता है, तो पुनर्स्थापित कच्चे संपर्कों में पहले जैसा ही स्रोत आईडी होना चाहिए। यदि आप इसे लागू नहीं करते हैं, तो शॉर्टकट काम करना बंद कर देंगे।

यहाँ आधिकारिक दस्तावेज़ है: Contacts Provider