Android पर संपर्क जोड़ने और उनमें बदलाव करने का ज़्यादा भरोसेमंद तरीका
पढ़ने में लगने वाला समय: 6 मिनट
क्या बदलाव होंगे
Android के आने वाले वर्शन को टारगेट करने वाले ऐप्लिकेशन, अब WRITE_CONTACTS अनुमति का इस्तेमाल करके, संपर्कों में सीधे तौर पर बदलाव नहीं कर पाएंगे. इसके बजाय, स्टैंडर्ड कॉन्टैक्ट इंटेंट (ACTION_INSERT, ACTION_EDIT, और ACTION_INSERT_OR_EDIT) का इस्तेमाल किया जा सकता है. रेफ़रंस के तौर पर लागू करने के बारे में पूरी जानकारी पाने के लिए, डेवलपर गाइड देखें. इसमें इंटेंट का इस्तेमाल करके संपर्कों में बदलाव करने का तरीका बताया गया है.
Android के आने वाले वर्शन पर चलने वाले डिवाइसों पर, संपर्क से जुड़े ये तीनों इंटेंट एक जैसे काम करेंगे. साथ ही, इनके लिए किसी अनुमति की ज़रूरत नहीं होगी. अगर आपका ऐप्लिकेशन, Android के आने वाले वर्शन या उसके बाद के वर्शन को टारगेट करता है और सीधे तौर पर संपर्कों में बदलाव करने की कोशिश करता है, तो उन बदलावों को अस्वीकार कर दिया जाएगा. साथ ही, आपको SecurityException या अनुमति न मिलने की गड़बड़ी दिखेगी. संपर्क बनाने और उनमें बदलाव करने के लिए, कुछ ऐप्लिकेशन को ज़्यादा ऐक्सेस की ज़रूरत होती है. ऐसे ऐप्लिकेशन के लिए, Android 17 QPR2 (2026 की चौथी तिमाही) में, ऐप्लिकेशन को खास ऐक्सेस देने की नई अनुमति, MANAGE_CONTACTS उपलब्ध होगी. Google Play, संपर्क जानकारी के ऐक्सेस के लिए अपडेट किए गए दिशा-निर्देश आज पब्लिश कर रहा है. इनमें MANAGE_CONTACTS भी शामिल है.
हम ऐसा क्यों कर रहे हैं
फ़िलहाल, अगर आपके ऐप्लिकेशन को एक भी संपर्क सेव करना है, तो हो सकता है कि आप WRITE_CONTACTS का अनुरोध कर रहे हों. हालांकि, इस अनुमति से ऐप्लिकेशन को संपर्कों का ज़्यादा ऐक्सेस मिल जाता है. इससे ऐप्लिकेशन, बैकग्राउंड में डिवाइस पर मौजूद संपर्कों में बड़े पैमाने पर बदलाव कर सकता है. इसके लिए, उपयोगकर्ता के इंटरैक्शन की भी ज़रूरत नहीं होती. ज़्यादातर ऐप्लिकेशन को इस तरह की अनुमति की ज़रूरत नहीं होती.
हालांकि, इसके विकल्प मौजूद हैं, लेकिन हमें आपसे पता चला है कि उन्हें पूरे नेटवर्क में ज़्यादा स्टैंडर्ड बनाने की ज़रूरत है. पहले, संपर्क इंटेंट अलग-अलग डिवाइसों पर अलग-अलग तरह से काम करते थे. कुछ एडिटर ने आपके पास मौजूद डेटा को हटा दिया है, जैसे कि संपर्क की फ़ोटो. कुछ डिवाइसों पर, 'वापस जाएं' बटन दबाने पर संपर्क सेव हो जाता था, भले ही उपयोगकर्ता ऐसा न करना चाहता हो. इसके अलावा, "नया संपर्क बनाएं" विकल्प को ढूंढना मुश्किल था. इसलिए, अनुमति मांगना ही सही विकल्प था. हम Android के आने वाले वर्शन में इन सभी समस्याओं को ठीक कर रहे हैं. साथ ही, इस वर्शन पर चलने वाले डिवाइसों के लिए, एक जैसे स्टैंडर्ड का पालन करना ज़रूरी बना रहे हैं.
इसके बजाय क्या इस्तेमाल करें
कोई संपर्क जोड़ना या उसमें बदलाव करना: संपर्क इंटेंट का इस्तेमाल करना
ACTION_INSERT, ACTION_EDIT, और ACTION_INSERT_OR_EDIT इंटेंट का इस्तेमाल करने पर, सिस्टम मुश्किल काम को आसान बना देता है. इसके लिए, वह संपर्क की जानकारी में बदलाव करने के लिए, साफ़-सुथरा और स्टैंडर्ड अनुभव देता है. इससे नई एंट्री के लिए, हाफ़-शीट वाला फ़ॉर्म तुरंत खुल जाता है. इसके अलावा, उपयोगकर्ता किसी मौजूदा संपर्क को आसानी से खोज सकता है और उसमें जानकारी जोड़ सकता है. उपयोगकर्ता, इस फ़ॉर्म को आसानी से फ़ुल-पेज एडिटर में बड़ा कर सकते हैं, ताकि वे ज़्यादा जानकारी भर सकें. इसके लिए, आपके ऐप्लिकेशन को फ़ाइल या एंट्री में बदलाव करने की अनुमति की ज़रूरत नहीं होती. नीचे दिए गए यूएक्स मॉक देखें:
पहली इमेज: नया संपर्क बनाएं *उपयोगकर्ता अनुभव फ़ाइनल नहीं है*
दूसरी इमेज: किसी मौजूदा संपर्क में जानकारी जोड़ना *उपयोगकर्ता अनुभव फ़ाइनल नहीं है*
ध्यान दें: डिवाइस बनाने वाली अलग-अलग कंपनियां, उपयोगकर्ता अनुभव में बदलाव कर सकती हैं, ताकि वह उनके ओएस स्टाइल से मैच करे. हालांकि, इसका व्यवहार एक जैसा ही रहेगा.
इंटेंट के साथ-साथ, डेटा पेलोड के तौर पर अतिरिक्त डेटा पास करके, इंटेंट बनाने की प्रोसेस को और आसान बनाया जा सकता है. इस अतिरिक्त डेटा को एक्स्ट्रा कहा जाता है:
EXTRA_ACCOUNTयह सुझाव देता है कि संपर्क किस खाते में सेव किया जाए. इससे, आपके ऐप्लिकेशन को संपर्क सिंक करने में मदद मिलती है. यह सुविधा पहले से मौजूद थी, लेकिन यह हर डिवाइस पर काम नहीं करती थी. Android के आने वाले वर्शन से, सभी डिवाइसों पर एक जैसी सुविधाएं मिलेंगी.EXTRA_PHOTO_URI, संपर्क की फ़ोटो को ऑटोमैटिक तरीके से भरने के लिए एक फ़ोटो पास करता है. एडिटर, आपके लिए यूआरआई को पढ़ने की अनुमति मैनेज करता है. यह सुविधा, Android के आने वाले वर्शन में उपलब्ध होगी. साथ ही, यह पूरे नेटवर्क पर काम करेगी.
पहले:
// Requires android.permission.WRITE_CONTACTS fun saveContactDirectly(context: Context, name: String, phone: String, account: Account) { val ops = arrayListOf( ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI) .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, account.type) .withValue(ContactsContract.RawContacts.ACCOUNT_NAME, account.name) .build(), ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI) .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0) .withValue( ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE ) .withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, name) .build(), ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI) .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0) .withValue( ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE ) .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, phone) .build() ) context.contentResolver.applyBatch(ContactsContract.AUTHORITY, ops) }
| इसके बाद: संपर्क एडिटर खोलना (इसके लिए अनुमति की ज़रूरत नहीं है.)
fun saveContactWithEditor( context: Context, name: String, phone: String, account: Account, photoUri: Uri ) { val intent = Intent(Intent.ACTION_INSERT, ContactsContract.Contacts.CONTENT_URI).apply { putExtra(ContactsContract.Intents.Insert.NAME, name) putExtra(ContactsContract.Intents.Insert.PHONE, phone) // Suggest which account the contact is saved to putExtra(ContactsContract.Intents.Insert.EXTRA_ACCOUNT, account) // New in the upcoming Android release: pre-fill the contact photo putExtra(ContactsContract.Intents.Insert.EXTRA_PHOTO_URI, photoUri) clipData = ClipData.newRawUri("", photoUri) addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) } context.startActivity(intent) }
|
पहले: किसी मौजूदा संपर्क को सीधे अपडेट करना
// Requires android.permission.WRITE_CONTACTS fun addPhoneDirectly(context: Context, rawContactId: Long, phone: String) { val values = ContentValues().apply { put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId) put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE) put(ContactsContract.CommonDataKinds.Phone.NUMBER, phone) } context.contentResolver.insert(ContactsContract.Data.CONTENT_URI, values) } | बाद में: उपयोगकर्ता को अपडेट करने के लिए कोई संपर्क चुनने या नया संपर्क बनाने की अनुमति देना fun addPhoneWithEditor(context: Context, phone: String) { val intent = Intent(Intent.ACTION_INSERT_OR_EDIT).apply { type = ContactsContract.Contacts.CONTENT_ITEM_TYPE putExtra(ContactsContract.Intents.Insert.PHONE, phone) } context.startActivity(intent) } अगर आपको पहले से पता है कि किस संपर्क को अपडेट करना है, तो उस संपर्क के यूआरआई के साथ fun editKnownContact(context: Context, contactUri: Uri, phone: String) { val intent = Intent(Intent.ACTION_EDIT, contactUri).apply { putExtra(ContactsContract.Intents.Insert.PHONE, phone) } context.startActivity(intent) }
|
कोई संपर्क चुनना: कॉन्टैक्ट पिकर का इस्तेमाल करना
अगर आपको सिर्फ़ उपयोगकर्ता के चुने गए संपर्कों को पढ़ने की ज़रूरत है, तो कॉन्टैक्ट पिकर का इस्तेमाल करें. यह Android 17 के बाद से उपलब्ध है. इसके लिए किसी अनुमति की ज़रूरत नहीं होती.
कॉलिंग और मैसेजिंग ऐप्लिकेशन: People Directory का इस्तेमाल करना
कुछ ऐप्लिकेशन, संपर्कों में "…से कॉल करें" या "…से मैसेज करें" कार्रवाइयां जोड़ते हैं. इससे लोग, फ़ोन या संपर्क ऐप्लिकेशन से कॉल या चैट शुरू कर सकते हैं. अगर आपका ऐप्लिकेशन, उपयोगकर्ता के संपर्कों में अतिरिक्त एंट्री लिखकर ऐसा करता है, तो People Directory पर जाएं. यह सुविधा, Android QPR2 (2026 की चौथी तिमाही) में उपलब्ध होगी. यह एक नई सिस्टम डायरेक्ट्री है, जहां आपका ऐप्लिकेशन यह पब्लिश करता है कि लोग आपके ऐप्लिकेशन में एक-दूसरे से कैसे संपर्क कर सकते हैं. इसके लिए, उपयोगकर्ता की संपर्क जानकारी में बदलाव करने की ज़रूरत नहीं होती.
ऐप्लिकेशन को माइग्रेट करने के उदाहरण
इन विकल्पों के काम करने का तरीका जानने के लिए, यहां कुछ उदाहरण दिए गए हैं. इनसे पता चलता है कि अलग-अलग तरह के ऐप्लिकेशन, संपर्क जानकारी को ऐक्सेस करने के लिए किस तरह के तरीके अपना सकते हैं:
| ऐप्लिकेशन टाइप का उदाहरण (इस तरह के और भी उदाहरण हो सकते हैं). | माइग्रेशन के लिए सुझाया गया तरीका |
| सोशल मीडिया, पी2पी पेमेंट, और राइड-शेयरिंग ऐप्लिकेशन | अगर आपके ऐप्लिकेशन में दोस्तों को ढूंढने, बिल को बांटने या यात्रा की स्थिति शेयर करने की सुविधा है, तो आपको संपर्कों को ऐक्सेस करने की अनुमति लेने की ज़रूरत नहीं है. एक बार में संपर्क चुनने के लिए, कॉन्टैक्ट पिकर का इस्तेमाल करें. साथ ही, जब कोई उपयोगकर्ता किसी प्रोफ़ाइल पर "संपर्कों में सेव करें" पर टैप करे, तो EXTRA_PHOTO_URI के साथ ACTION_INSERT लॉन्च करें. |
| बिज़नेस कार्ड स्कैन करने और इवेंट नेटवर्किंग वाले ऐप्लिकेशन | अगर आपका ऐप्लिकेशन किसी बैज या क्यूआर कोड को स्कैन करके, नया संपर्क सेव करता है या किसी मौजूदा सहकर्मी की एंट्री में ऑफ़िस का फ़ोन नंबर जोड़ता है, तो ACTION_INSERT या ACTION_INSERT_OR_EDIT का इस्तेमाल करें. स्टैंडर्ड हाफ़-शीट एडिटर, पार्स किए गए फ़ील्ड (नाम, कंपनी, फ़ोन, ईमेल, और फ़ोटो) को ऑटोमैटिक तरीके से भरता है. इससे उपयोगकर्ता, बैकग्राउंड में काम करने की अनुमतियां दिए बिना, एक टैप में जानकारी की पुष्टि कर सकता है और उसे सेव कर सकता है. |
| वीओआईपी कॉलिंग और मैसेजिंग ऐप्लिकेशन | उपयोगकर्ता की अड्रेस बुक में कस्टम "…से कॉल करें" या "…से मैसेज करें" लाइनें डालने के लिए, WRITE_CONTACTS से अनुरोध करने के बजाय, People Directory की मदद से, संपर्क किए जा सकने वाले लोगों का मेटाडेटा पब्लिश करें. साथ ही, जब उपयोगकर्ता चैट थ्रेड से कोई नया संपर्क जोड़ें, तब ACTION_INSERT का इस्तेमाल करें. |
| एंटरप्राइज़ सीआरएम और क्लाउड सिंक ऐप्लिकेशन | अगर आपका ऐप्लिकेशन, क्लाउड या काम से जुड़े खाते के साथ बैकग्राउंड में लगातार, दोतरफ़ा संपर्क सिंक करता है, तो आपका ऐप्लिकेशन MANAGE_CONTACTS का एलान करने की ज़रूरी शर्तें पूरी करता है. ऐसा तब होता है, जब हर रिकॉर्ड के लिए उपयोगकर्ता को इंटेंट यूआई के साथ प्रॉम्प्ट करना मुमकिन न हो. |
इन बदलावों को देखें
- एडिटर में कस्टम डेटा टाइप का इस्तेमाल नहीं किया जा सकता. अगर स्टैंडर्ड
ContactsContract.CommonDataKindsटाइप के अलावा, अन्य एमआईएमई टाइप वालीInsert.DATAलाइनें पास की जाती हैं, तो एडिटर उन एमआईएमई टाइप को अनदेखा कर देगा. SHOW_OR_CREATE_CONTACTको सिस्टम एडिटर मैनेज नहीं करता. डिवाइस में पहले से मौजूद संपर्क ऐप्लिकेशन, अब भी इसे मैनेज कर सकते हैं. सभी डिवाइसों पर एक जैसा अनुभव देने के लिए,ACTION_INSERT_OR_EDITका इस्तेमाल करें.- डिफ़ॉल्ट रूप से, डेटा सेव नहीं होता. Android के आने वाले वर्शन को टारगेट करने के बाद,
MANAGE_CONTACTSके बिना सीधे तौर पर डेटा सेव करने पर,SecurityException or permission denialदिखेगा. इसकी जांच करें.
क्या मुझे MANAGE_CONTACTS की ज़रूरत है?
शायद नहीं. अगर आपका ऐप्लिकेशन किसी उपयोगकर्ता के अनुरोध पर संपर्कों को सेव करता है या उनमें बदलाव करता है, तो ऊपर दिए गए इंटेंट आपके काम आ सकते हैं. इनके लिए, न तो अनुमति की ज़रूरत होती है और न ही Play Console में एलान करने की.
MANAGE_CONTACTS उन ऐप्लिकेशन के लिए है जिनका मुख्य मकसद संपर्कों को मैनेज करना है. साथ ही, जिनके लिए इंटेंट काफ़ी नहीं हैं. उदाहरण के लिए:
| आपका ऐप्लिकेशन… | क्या आपको MANAGE_CONTACTS की ज़रूरत है? |
| किसी चैट, बिज़नेस कार्ड या ऑर्डर से संपर्क की जानकारी सेव करता है. | नहीं, ACTION_INSERT का इस्तेमाल करें |
| किसी मौजूदा संपर्क में कोई नंबर या ईमेल पता जोड़ता है. | नहीं, ACTION_INSERT_OR_EDIT या ACTION_EDIT का इस्तेमाल करें |
| इससे उपयोगकर्ता, न्योता भेजने, शेयर करने या पेमेंट करने के लिए संपर्क चुन सकते हैं. | नहीं, कॉन्टैक्ट पिकर का इस्तेमाल करें |
| संपर्कों को कॉल या मैसेज करने की सुविधा जोड़ता है. | नहीं, लोगों की डायरेक्ट्री का इस्तेमाल करें |
| इसमें संपर्क में बदलाव करने के लिए, ब्रैंड के हिसाब से स्क्रीन मौजूद होती है. | नहीं, सिर्फ़ कस्टम इंटरफ़ेस होने से, डिवाइस को इस प्रोग्राम में शामिल नहीं किया जा सकता |
| यह संपर्कों को मैनेज करने वाला या डायलर की जगह इस्तेमाल होने वाला ऐप्लिकेशन है. | हां, ऐसा हो सकता है |
| यह कॉलर आईडी और स्पैम से सुरक्षा की सुविधा देने वाला ऐप्लिकेशन है, जो अड्रेस बुक में मौजूद एंट्री को एक साथ अपडेट करता है. | हां, ऐसा हो सकता है |
| यह बैकग्राउंड में, संपर्कों को किसी एंटरप्राइज़ या क्लाउड खाते के साथ सिंक करता है. | शायद हां |
| एक साथ कई संपर्कों का बैकअप लेना/उन्हें रीस्टोर करना या एक फ़ोन से दूसरे फ़ोन में डेटा ट्रांसफ़र करना. | हां, ऐसा हो सकता है |
| अलग-अलग संपर्कों के लिए, पसंद के मुताबिक रिंगटोन सेट करना. | हां, ऐसा हो सकता है |
यह कैसे काम करता है:
MANAGE_CONTACTS, ऐप्लिकेशन को ऐक्सेस देने के लिए दी जाने वाली एक खास अनुमति है. यह रनटाइम डायलॉग नहीं है. उपयोगकर्ता इसे सेटिंग > ऐप्लिकेशन के लिए खास ऐक्सेस > संपर्क मैनेज करें में जाकर चालू करते हैं.
// Opens Settings > Apps > Special app access > Manage contacts val intent = Intent(Settings.ACTION_MANAGE_CONTACTS, Uri.fromParts("package", packageName, null)) context.startActivity(intent)
- इसमें संपर्कों, खातों, और People Directory के डेटा को पढ़ना, जोड़ना, उसमें बदलाव करना, और उसे मिटाना शामिल है. आपको
READ_CONTACTSका अनुरोध करने की भी ज़रूरत नहीं है. MANAGE_CONTACTSके साथ Google Play पर ऐप्लिकेशन पब्लिश करने के लिए, आपको Play Console में एक एलान सबमिट करना होगा. इसमें आपको यह बताना होगा कि आपके ऐप्लिकेशन के मुख्य फ़ंक्शन के लिए, इंटेंट काफ़ी क्यों नहीं हैं.
माइग्रेशन के चरण
- संपर्क ढूंढना. अपने कोड में
WRITE_CONTACTS,ContactsContract.RawContacts.CONTENT_URI,ContactsContract.Data.CONTENT_URI, औरapplyBatch(ContactsContract.AUTHORITY, …)खोजें. - उपयोगकर्ता के हर राइट ऑपरेशन को इंटेंट से बदलें: नए संपर्कों के लिए
ACTION_INSERTऔर अपडेट के लिएACTION_EDITयाACTION_INSERT_OR_EDIT. Insert.DATAमें सिर्फ़ स्टैंडर्ड डेटा टाइप का इस्तेमाल करें. कॉल या मैसेज से जुड़ी कार्रवाइयों को People Directory में ले जाना.- तय करें कि आपको वाकई
MANAGE_CONTACTSकी ज़रूरत है या नहीं. इसके लिए, ऊपर दी गई टेबल का इस्तेमाल करें. अगर ऐसा है, तो Play Console में एलान वाला फ़ॉर्म भरने की तैयारी करें. - जब किसी कोड पाथ को
WRITE_CONTACTSकी ज़रूरत न हो, तो उसे अपने मेनिफ़ेस्ट से हटाएं .
टाइमलाइन
| कब करें | क्या होगा |
| 21 अक्टूबर, 2026 | Google Play ने MANAGE_CONTACTS नीति का एलान किया |
| 2026 (Android 17 का क्वार्टरली प्लैटफ़ॉर्म रिलीज़ 2) | MANAGE_CONTACTS अनुमति उपलब्ध हो जाती है |
| 2027 (Android का आने वाला वर्शन) | WRITE_CONTACTS, Android के आने वाले वर्शन को टारगेट करने वाले ऐप्लिकेशन को, डेटा में बदलाव करने का ऐक्सेस नहीं देता. संपर्क से जुड़े इंटेंट, सभी डिवाइसों पर एक जैसे होते हैं |
| 2027, Android के अगले वर्शन के रिलीज़ होने से पहले नहीं | Play Console, MANAGE_CONTACTS का इस्तेमाल करने वाले ऐप्लिकेशन से एलान वाला फ़ॉर्म सबमिट करने के लिए कहता है |
| 2027, Android के अगले वर्शन के रिलीज़ होने से पहले नहीं | Google Play की नीति का पालन करना ज़रूरी है |
अक्सर पूछे जाने वाले सवाल
- क्या इसका असर हर ऐप्लिकेशन पर पड़ता है?
WRITE_CONTACTSको बंद करने का बदलाव, सिर्फ़ उन ऐप्लिकेशन पर लागू होता है जो Android की आने वाली रिलीज़ और उसके बाद के वर्शन को टारगेट करते हैं. पुराने वर्शन को टारगेट करने वाले ऐप्लिकेशन, मौजूदा तरीके से काम करते रहेंगे. हालांकि, नए ओएस पर काम करने वाले सभी ऐप्लिकेशन के लिए, संपर्क की जानकारी में बदलाव करने की नई सुविधा उपलब्ध होगी. भले ही, उनका टारगेट एसडीके कुछ भी हो.
- क्या मेरा ऐप्लिकेशन, इंटेंट का इस्तेमाल करके संपर्कों को मिटा सकता है?
- नहीं. संपर्कों को मिटाने का कोई इरादा नहीं है. उपयोगकर्ता, अपने संपर्क ऐप्लिकेशन में जाकर संपर्कों को मिटाते हैं. जिन ऐप्लिकेशन के पास
MANAGE_CONTACTSकी अनुमति होती है वे संपर्कों को सीधे तौर पर मिटा सकते हैं.
- नहीं. संपर्कों को मिटाने का कोई इरादा नहीं है. उपयोगकर्ता, अपने संपर्क ऐप्लिकेशन में जाकर संपर्कों को मिटाते हैं. जिन ऐप्लिकेशन के पास
- मेरे पास पहले से ही संपर्क में बदलाव करने की स्क्रीन है. क्या मैं इसे रख सकता हूं?
- सिर्फ़ तब, जब आपका ऐप्लिकेशन
MANAGE_CONTACTSकी ज़रूरी शर्तें पूरी करता हो. कस्टम डिज़ाइन को बनाए रखने की इच्छा, अपने-आप में कोई मान्य वजह नहीं है.
- सिर्फ़ तब, जब आपका ऐप्लिकेशन
- क्या
MANAGE_CONTACTS, READ_CONTACTS की जगह लेगा?MANAGE_CONTACTSमें, डेटा को पढ़ने का ऐक्सेस शामिल होता है. इसलिए, आपको दोनों के लिए अनुरोध करने की ज़रूरत नहीं है. हालांकि, कई ऐप्लिकेशनREAD_CONTACTSके लिए ज़रूरी शर्तें पूरी करते हैं. ऐसे ऐप्लिकेशन को संपर्कों में बदलाव करने की ज़रूरत नहीं होती. ये ऐप्लिकेशन,READ_CONTACTSका अनुरोध करना जारी रख सकते हैं.
- Android के पुराने वर्शन इस्तेमाल करने वाले उपयोगकर्ताओं का क्या होगा?
- संपर्क इंटेंट, पुराने वर्शन पर भी काम करते हैं. इन्हें डिवाइस का संपर्क ऐप्लिकेशन मैनेज करता है. ज़्यादातर ऐप्लिकेशन, इन इंटेंट का इस्तेमाल करके सभी डिवाइसों पर अच्छी तरह से काम करेंगे. अगर आपके ऐप्लिकेशन पर एक जैसी परफ़ॉर्मेंस न मिलने की समस्या का असर पड़ा है और इसे सिर्फ़ नए वर्शन में हल किया जा सकता है, तो अपने मेनिफ़ेस्ट में
WRITE_CONTACTSअनुमति को सही maxSdkVersion के साथ रखा जा सकता है.
- संपर्क इंटेंट, पुराने वर्शन पर भी काम करते हैं. इन्हें डिवाइस का संपर्क ऐप्लिकेशन मैनेज करता है. ज़्यादातर ऐप्लिकेशन, इन इंटेंट का इस्तेमाल करके सभी डिवाइसों पर अच्छी तरह से काम करेंगे. अगर आपके ऐप्लिकेशन पर एक जैसी परफ़ॉर्मेंस न मिलने की समस्या का असर पड़ा है और इसे सिर्फ़ नए वर्शन में हल किया जा सकता है, तो अपने मेनिफ़ेस्ट में
-
प्रॉडक्ट से जुड़ी खबरेंGoogle I/O 2026 में, हमने Android को एक ऑपरेटिंग सिस्टम से इंटेलिजेंस सिस्टम में बदलने के बारे में बताया था. हमने यह भी दिखाया कि सिस्टम के साथ नेटिव तौर पर, इंटेलिजेंट अनुभव कैसे बनाए जा सकते हैं. साथ ही, अपने ऐप्लिकेशन में Google के एआई की क्षमता को कैसे शामिल किया जा सकता है.
Jingyu Shi • पढ़ने में लगने वाला समय: दो मिनट -
प्रॉडक्ट से जुड़ी खबरेंइस साल Google I/O में, हम ऐप्लिकेशन बनाने के तरीके में बुनियादी बदलाव करने जा रहे हैं. हमारे नए टूल, एजेंटिक एआई के दौर के लिए बनाए गए हैं. इनमें ऐसी सुविधाएं हैं जो Android डेवलपर के तौर पर आपकी प्रॉडक्टिविटी बढ़ाती हैं. साथ ही, आपके कोड बेस में डिप्लॉय किए गए एआई एजेंट को बेहतर बनाती हैं.
Matthew Warner • 8 मिनट में पढ़ें -
प्रॉडक्ट से जुड़ी खबरेंआज The Android Show के दौरान यह एलान किया गया कि Android, एक ऑपरेटिंग सिस्टम से इंटेलिजेंस सिस्टम में बदल रहा है. इससे आपके ऐप्लिकेशन के साथ यूज़र ऐक्टिविटी बढ़ाने के ज़्यादा मौके मिलेंगे.
Matthew McCullough • पढ़ने में लगने वाला समय: 4 मिनट
Android डेवलपमेंट से जुड़ी नई अहम जानकारी, हर हफ़्ते अपने इनबॉक्स में पाएं.