2013-03-11 7 views
5

मैं अपने आवेदन से फोनबुक में फोन नंबरों के बिना सभी संपर्कों को छिपाना चाहता हूं .. फोनबुक की तरह ही, जब आप फोनबुक पर जाते हैं -> सेटिंग्स एक चेकबॉक्स होता है कहा गया है कि "फ़ोन नंबर वाले संपर्क केवल" मैं अपने अनुप्रयोग में इस सुविधा को लागू करना चाहते हैंफोनबुक सेटिंग्स (यानी संपर्क केवल फ़िल्टर) एंड्रॉइड कोड उदाहरण

मैं एक विधि (कोड) फोनबुक करने के लिए उपयोगकर्ताओं नेविगेट करने की आवश्यकता -> सेटिंग्स (गतिविधि) (सिस्टम एप्लिकेशन)

से मेरी आवेदन गतिविधि।

या खराब स्थिति डेटाबेस के माध्यम से फोन नंबर के बिना सभी संपर्क छुपाएं। तो फोनबुक फ़िल्टर कर सकते हैं।

वर्तमान में मैंने पाया

Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); 
startActivityForResult(intent, 123); 

कोड से ऊपर फोन बुक खोलता है, लेकिन मैं फोन बुक खोलना चाहते हैं -> सेटिंग पृष्ठ।

संक्षेप में मैं अपने आवेदन से फोनबुक सामग्री "फोन नंबर के साथ संपर्क" बनाना चाहते

+0

अगर मैं अपने प्रश्न समझ में आया, क्या [Android संपर्कों प्रदर्शन नाम और फोन एकल डाटाबेस क्वेरी में संख्या (रों)?] मदद कर सकता है [1] [1]: http: // stackoverflow।कॉम/प्रश्न/6587674/एंड्रॉइड-संपर्क-प्रदर्शन-नाम-और-फोन-संख्या-इन-सिंगल-डेटाबेस-क्वेरी – eeadev

+0

नहीं, मैं अपनी गतिविधि से फोनबुक -> सेटिंग पेज खोलना चाहता हूं, यदि यह संभव नहीं है तो कार्यान्वित करें मेरे आवेदन के अंदर फोन बुक के लिए केवल "फोन नंबरों के साथ संपर्क" सेटिंग –

उत्तर

3

मैं एक विधि (कोड) फोनबुकमध्ये उपयोगकर्ताओं नेविगेट करने की आवश्यकता -> सेटिंग्स (गतिविधि) (सिस्टम ऐप)

एंड्रॉइड फोन के सैकड़ों, शायद हजारों हैं। उनके "फोनबुक" ऐप के संबंध में कोई भी जरूरी नहीं होगा। उन "फोनबुक" ऐप्स में से कोई भी आपके पास आवश्यक विशेषता नहीं है - कुछ लोग, कुछ नहीं। और, सबसे अधिक संभावना है कि, किसी भी व्यक्ति को उस सेटिंग को नियंत्रित करने के लिए ऐप के भीतर स्क्रीन प्राप्त करने के लिए Intent संरचना का दस्तावेज़ीकरण और समर्थित नहीं है।

मैं चाहता हूँ अपने आवेदन से फोनबुक में फोन नंबर के बिना सभी संपर्कों को छिपाने के लिए है

तो फिर तुम "फोनबुक" एप्लिकेशन का उपयोग करने के लिए नहीं है, लेकिन बजाय संपर्कों खुद प्रदर्शित करते हैं, READ_CONTACTS अनुमति के माध्यम से की आवश्यकता होगी और ContactsContractContentProvider

+0

आपका मतलब है कि सभी डिवाइस में फोनबुक एप्लिकेशन समान नहीं हैं? प्रत्येक एंड्रॉइड डिवाइस में इसका कोई फोनबुक नहीं है (कुछ भी स्टैंडर, गतिविधियां नाम इत्यादि नहीं)। फोन नंबर के साथ दूसरी बात संपर्क केवल फिल्टर फोनबुक से लागू है .. हम साथ संपर्क डेटाबेस –

+0

@AmirQayyumKhan इस बात नहीं कर सकते: "तुम्हारा मतलब है फोनबुक अनुप्रयोगों सभी डिवाइस में ही नहीं हैं?" - उपकरण निर्माताओं और अपने स्वयं के साथ एंड्रॉयड ओपन सोर्स प्रोजेक्ट से संपर्क एप्लिकेशन की जगह कर सकते हैं। "हम इस बात को संपर्क डेटाबेस से नहीं कर सकते हैं" - क्यों नहीं? – CommonsWare

2
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); 
startActivityForResult(intent, PICK_CONTACT); 
+0

आपने अभी अपनी खुद की लिपि कॉपी की है! क्या तुमने मेरी समस्या से गुजर लिया? –

+0

बिल्कुल नहीं, अमीर। मैंने Google पर खोज की और कोड स्निपेट भी अलग है। यदि यह आपकी समस्या का समाधान नहीं करता है तो कृपया कोशिश करें और एक अलग तरीके से समझाएं। – eeadev

+0

कोई कोड नहीं काम करता है .. आपके कोड 'startActivityForResult (इरादा, PICK_CONTACT) में; PICK_CONTACT '123 –

0

ठीक है, मैंने अपने प्रमुख प्रोजेक्ट के रूप में एंड्रॉइड के लिए एक संपर्क अनुप्रयोग सफलतापूर्वक विकसित किया है। मेरा मानना ​​है कि यह काफी सरल है। यहां कोड है कि मैंने यह कैसे किया।

Cursor c = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, 
              null, 
              ContactsContract.Contacts.HAS_PHONE_NUMBER + " = 1", 
              null, 
              ContactsContract.Contacts.DISPLAY_NAME+" COLLATE LOCALIZED ASC"); 

      mAdapter = new MyAdapter(this, 
         R.layout.single_cell, 
         c, 
         new String[]{ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME}, 
         new int[]{R.id.disp_name}, 
         CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER); 

      listview.setAdapter(mAdapter); 

और MyAdapter में, मैं SimpleCursorAdapter बढ़ाया और अधिक bindView rided() SimpleCursorAdapter की दक्षता का लाभ लेने के है। हालांकि, आपको संपर्क पढ़ने की अनुमति चाहिए। आपकी एंड्रॉइड-मेनिफेस्ट फ़ाइल में। कृपया उल्लेख,

<uses-permission android:name="android.permission.READ_CONTACTS"/> 

आशा है, यह मदद करता है।

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