यह उदाहरण दर्शाता है कि एंड्रॉइड में सामग्री प्रदाता से फोन नंबर कैसे प्राप्त करें
चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।
<लिस्ट व्यू एंड्रॉइड:आईडी ="@ + आईडी / लिस्ट" एंड्रॉइड:लेआउट_विड्थ ="रैप_कंटेंट" एंड्रॉइड:टेक्स्ट साइज ="30एसपी" एंड्रॉइड:लेआउट_हाइट ="रैप_कंटेंट" एंड्रॉइड :text ="क्लिक करें"/>
उपरोक्त कोड में, हमने सूची दृश्य लिया है।
चरण 3 - निम्न कोड को src/MainActivity.java
में जोड़ेंपैकेज com.example.myapplication;import android.annotation.TargetApi;import android.content.ContentResolver;import android.content.pm.PackageManager;import android.database.Cursor;import android.os.Build;import android. os.Bundle;import android.provider.ContactsContract;import android.support.v4.app.ActivityCompat;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.AdapterView;import android. विजेट.अरेएडाप्टर;आयात android.widget.ListView;import android.widget.Toast;import java.util.ArrayList;सार्वजनिक वर्ग MainActivity AppCompatActivity का विस्तार करता है {सार्वजनिक स्थिर अंतिम int REQUEST_READ_CONTACTS =79; सूची दृश्य सूची; ऐरेलिस्ट मोबाइलएरे; ऐरेलिस्ट नंबरअरे; @TargetApi(Build.VERSION_CODES.LOLLIPOP) @Override public void onCreate(Bundle saveInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); संख्याअरे =नया ऐरेलिस्ट (); अगर (ActivityCompat.checkSelfPermission (यह, android.Manifest.permission.READ_CONTACTS) ==PackageManager.PERMISSION_GRANTED) {mobileArray =getAllContacts (); } और {अनुरोध अनुमति (); } सूची =findViewById(R.id.list); ArrayAdapter एडेप्टर =नया ArrayAdapter<स्ट्रिंग>(यह, android.R.layout.simple_list_item_1, android.R.id.text1, mobileArray); list.setAdapter (एडाप्टर); list.setOnItemClickListener (नया एडेप्टर व्यू। ऑनइटमक्लिक लिस्टनर () {@ ओवरराइड पब्लिक वॉयड ऑनइटमक्लिक (एडाप्टर व्यू > पैरेंट, व्यू व्यू, इंट पोजीशन, लॉन्ग आईडी) {स्ट्रिंग नंबर =(स्ट्रिंग) नंबरअरे.गेट (पोजिशन); Toast.makeText ( MainActivity.this,number,Toast.LENGTH_LONG).show();}}); } निजी शून्य अनुरोध अनुमति () { अगर (ActivityCompat. shouldShowRequestPermissionRationale (यह, android.Manifest.permission.READ_CONTACTS)) {// यूआई भाग दिखाएं यदि आप यहां कुछ तर्क दिखाना चाहते हैं !!! } और { activityCompat.requestPermissions (यह, नई स्ट्रिंग [] {android.Manifest.permission.READ_CONTACTS}, REQUEST_READ_CONTACTS); } अगर (ActivityCompat. shouldShowRequestPermissionRationale(this, android.Manifest.permission.READ_CONTACTS)) { } और { activityCompat.requestPermissions (यह, नया स्ट्रिंग [] {android.Manifest.permission.READ_CONTACTS}, REQUEST_READ_CONTACTS); } } @Override सार्वजनिक शून्य onRequestPermissionsResult(int requestCode, String अनुमतियाँ[], int[] GrantResults) {स्विच (requestCode) {केस REQUEST_READ_CONTACTS:{ if (grantResults.length> 0 &&GrantResults[0] ==PackageManager.PERMISSION_GRANTED) { मोबाइलअरे =getAllContacts (); } और {//अनुमति अस्वीकृत,//कार्यक्षमता को अक्षम करें जो इस अनुमति पर निर्भर करती है। } वापसी; } } } निजी ArrayList getAllContacts() { ArrayListnameList =new ArrayList<>(); ContentResolver cr =getContentResolver (); कर्सर वक्र =cr.query (ContactsContract.Contacts.CONTENT_URI, नल, नल, नल, अशक्त); if ((cur! =null? cur.getCount() :0)> 0) { जबकि (cur! =null &&cur.moveToNext ()) {स्ट्रिंग आईडी =cur.getString (cur.getColumnIndex(ContactsContract.Contacts._ID) )); स्ट्रिंग नाम =cur.getString (cur.getColumnIndex (ContactContract.Contacts.DISPLAY_NAME)); नाम सूची। जोड़ें (नाम); अगर (cur.getInt(cur.getColumnIndex(ContactContract.Contacts.HAS_PHONE_NUMBER))> 0) { कर्सर pCur =cr.query (ContactContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "? , नया स्ट्रिंग [] {आईडी}, शून्य); जबकि (pCur.moveToNext ()) {स्ट्रिंग phoneNo =pCur.getString (pCur.getColumnIndex (ContactsContract.CommonDataKinds.Phone.NUMBER)); संख्याअरे। जोड़ें (फोन नहीं); } pCur.close (); } } } अगर (cur ! =null) {cur.close(); } वापसी नामसूची; }}पूर्व> चरण 4 - AndroidManifest.xml में निम्न कोड जोड़ें
<उपयोग-अनुमति एंड्रॉइड:नाम ="android.permission.READ_CONTACTS" /> <एप्लिकेशन एंड्रॉइड:allowBackup ="true" android:theme ="@style/AppTheme.NoActionBar" android:icon ="@mipmap/ic_launcher "एंड्रॉइड:लेबल ="@ स्ट्रिंग/ऐप_नाम" एंड्रॉइड:राउंडआईकॉन ="@ मिपमैप/आईसी_लॉन्चर_राउंड" एंड्रॉइड:सपोर्टआरटीएल ="सच"> <गतिविधि एंड्रॉइड:नाम ="। मेनएक्टिविटी" एंड्रॉइड:configChanges ="कीबोर्डहिडन | ओरिएंटेशन | स्क्रीनसाइज"> <इरादे-फ़िल्टर> <कार्रवाई android:name ="android.intent.action.MAIN" /> <कार्रवाई android:name ="android.intent.action.CREATE_SHORTCUT" /> <श्रेणी android:name ="android.intent" .category.LAUNCHER" /> आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक खोलें और टूलबार से रन आइकन पर क्लिक करें। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -
अब नीचे दिखाए अनुसार फोन नंबर दिखाने के लिए टेक्स्टव्यू पर क्लिक करें -