यह उदाहरण दर्शाता है कि android में कॉल कैसे करें
चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।
<लिस्ट व्यू एंड्रॉइड:आईडी ="@ + आईडी / लिस्ट" एंड्रॉइड:लेआउट_विड्थ ="रैप_कंटेंट" एंड्रॉइड:टेक्स्ट साइज ="30एसपी" एंड्रॉइड:लेआउट_हाइट ="रैप_कंटेंट" एंड्रॉइड :text ="क्लिक करें"/>
उपरोक्त कोड में, हमने सूची दृश्य लिया है।
चरण 3 - निम्न कोड को src/MainActivity.java
में जोड़ेंपैकेज com.example.myapplication;import android.annotation.TargetApi;import android.app.Activity;import android.content.ContentResolver;import android.content.Context;import android.content.Intent;import android.content. pm.PackageManager;import android.database.Cursor;import android.net.Uri;import android.os.Build;import android.os.Bundle;import android.provider.ContactsContract;import android.support.annotation.NonNull;import android. .support.v4.app.ActivityCompat;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.ListView;import android .widget.Toast;import java.util.ArrayList;सार्वजनिक वर्ग MainActivity AppCompatActivity को बढ़ाता है {सार्वजनिक स्थिर अंतिम int REQUEST_READ_CONTACTS =79; निजी स्थिर अंतिम इंट अनुरोध =112; सूची दृश्य सूची; ऐरेलिस्ट मोबाइलएरे; ऐरेलिस्ट नंबरअरे; स्ट्रिंग संख्या; @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 (नया एडेप्टर व्यू। ऑनइटमक्लिक लिस्टनर () {@ ओवरराइड पब्लिक वॉयड ऑनइटमक्लिक (एडाप्टर व्यू > पैरेंट, व्यू व्यू, इंट पोजीशन, लॉन्ग आईडी) {नंबर =(स्ट्रिंग) नंबरएरे.गेट (पोजिशन); अगर (बिल्ड। संस्करण) .SDK_INT>=23) { स्ट्रिंग [] अनुमतियां ={android.Manifest.permission.CALL_PHONE}; अगर (!hasPermissions(MainActivity.this, PerMISSIONS)) { ActivityCompat.requestPermissions((Activity) MainActivity.this, Permissions, REQUEST); } और {मेककॉल (संख्या); } } और {मेककॉल (संख्या); } } }); } निजी स्थिर बूलियन में अनुमतियां (संदर्भ संदर्भ, स्ट्रिंग ... अनुमतियां) {अगर (बिल्ड। संस्करण। एसडीके_आईएनटी> =बिल्ड.VERSION_CODES.M &&संदर्भ! =शून्य &&अनुमतियां! =शून्य) {के लिए (स्ट्रिंग अनुमति:अनुमतियां) { अगर (ActivityCompat.checkSelfPermission(संदर्भ, अनुमति)! =PackageManager.PERMISSION_GRANTED) {झूठी वापसी; } } } सच लौटें; } निजी शून्य मेककॉल (स्ट्रिंग नंबर) {इरादा फोनकॉलइन्टेंट =नया इरादा (इरादा। ACTION_CALL); phoneCallIntent.setData(Uri.parse("tel:"+number)); स्टार्टएक्टिविटी (फोनकॉलइन्टेंट); } निजी शून्य अनुरोध अनुमति () { अगर (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 (); } और {//अनुमति अस्वीकृत,//कार्यक्षमता को अक्षम करें जो इस अनुमति पर निर्भर करती है। } वापसी; } मामला अनुरोध:{ अगर (grantResults.length> 0 &&GrantResults[0] ==PackageManager.PERMISSION_GRANTED) { makeCall(number); } और { Toast.makeText(MainActivity.this, "ऐप को कॉल करने की अनुमति नहीं थी।", Toast.LENGTH_LONG)। शो (); } } } } निजी 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" /> <उपयोग-अनुमति एंड्रॉइड:नाम ="android.permission.CALL_PHONE" /> <एप्लिकेशन एंड्रॉइड:अनुमति बैकअप ="सच" एंड्रॉइड:थीम ="@ Style/AppTheme.NoActionBar" android:icon ="@mipmap/ic_launcher" android:label ="@string/app_name" android:roundIcon ="@mipmap/ic_launcher_round" android:supportsRtl ="true"> <गतिविधि एंड्रॉइड:name =".MainActivity" android:configChanges ="keyboardHidden|Orientation|screenSize"> <इरादे-फ़िल्टर> <कार्रवाई android:name ="android.intent.action.MAIN" /> <श्रेणी android:name ="android.intent.category.LAUNCHER" /> पूर्व> आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक खोलें और टूलबार से रन आइकन पर क्लिक करें। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -
अब नीचे दिखाए गए अनुसार कॉल करने के लिए टेक्स्टव्यू पर क्लिक करें -