اندروید برنامه های ساخته شده برای تماس های تلفنی را فراهم می کند، در بعضی موارد ما ممکن است نیاز به برقراری تماس تلفنی از طریق برنامه داشته باشیم. این می تواند به راحتی با استفاده از هدف ضمنی با اقدامات مناسب انجام شود. همچنین، ما می توانیم از کلاس PhoneStateListener و TelephonyManager استفاده کنیم تا مانع تغییرات برخی از وضعیت های تلفن در دستگاه شود.

آموزش برقراری تماس در اندروید ،تمام مراحل ساده را برای ایجاد یک برنامه کاربردی که می تواند برای برقراری تماس تلفنی مورد استفاده قرار گیرد را فهرست می کند. شما می توانید از Android Intent برای برقراری تماس تلفنی با تماس تلفنی از عملکرد داخلی تلفن اندروید استفاده کنید. بخش بعد بخش های مختلفی از شیء هدف ما را که برای برقراری تماس مورد نیاز است توضیح می دهد.

Intent Object_ عمل برقراری تماس در اندروید

شما اقدام ACTION_CALL را برای فعال کردن قابلیت تماس تلفنی داخلی موجود در دستگاه اندروید خواهید آموخت. در زیر دستورالعمل ساده ای برای ایجاد یک هدف با عمل ACTION_CALL است.

 

Intent phoneIntent = new Intent(Intent.ACTION_CALL);

 

شما می توانید از ACTION_DIAL به جای ACTION_CALL استفاده کنید، در این صورت شما باید قبل از برقراری تماس ،به جای برقراری تماس مستقیم، شماره تلفن سخت افزاری را تغییر دهید.

Object Intent_ نوع داده برای برقراری تماس

برای برقراری تماس تلفنی با یک شماره مشخص ۹۱-۰۰۰-۰۰۰-۰۰۰۰، شما باید از طریق استفاده از روش ()setData به عنوان مثال: tel: as URI را مشخص کنید.

 

phoneIntent.setData(Uri.parse("tel:91-000-000-0000"));

 

نکته جالب این است که برای برقراری تماس تلفنی نیازی به مشخص کردن هر نوع اطلاعات اضافی یا نوع داده ای نیست.

مثال:

مثال زیر به شما نحوه استفاده از Android Intent را برای برقراری تماس تلفنی به شماره تلفن همراه ارائه می دهد.

توجه:برای آزمایش این مثال به یک دستگاه موبایل مجهز شده با آخرین Android OS نیاز خواهید داشت. در غیر این صورت مجبور خواهید بود از مقلدی استفاده کنید که ممکن است به درستی کار نکند.

مرحله توضیحات
1 شما از IDE Android Studio برای ایجاد یک برنامه Android استفاده می کنید و آن را به عنوان برنامه من تحت یک بسته com.example.saira_000.myapplication نامگذاری می کنید
2 تغییر src / MainActivity.java فایل و اضافه کردن کد مورد نیاز برای مراقبت از برقراری تماس
3 اصلاح طرح XML فایل res / layout / activity_main.xml در صورت نیاز هر جزء گرافیکی را اضافه کنید. من یک دکمه ساده برای شماره تماس ۹۱-۰۰۰-۰۰۰-۰۰۰۰ اضافه می کنم.
4 بدون نیاز به تعریف متغیرهای پیش فرض رشته. استودیو اندروید از ثابت های پیش فرض مراقبت می کند.
5 اصلاح AndroidManifest.xml به صورت زیر نشان داده شده است.
6 برنامه را اجرا کنید تا شبیه ساز اندروید را راه اندازی کنید و نتیجه تغییرات انجام شده در برنامه را تأیید کنید.

در زیر محتوای اصلی فایل فعالیت اصلی src / MainActivity.java قرار دارد.

 

package com.example.saira_000.myapplication;

import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
   private Button button;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      button = (Button) findViewById(R.id.buttonCall);
    
      button.setOnClickListener(new View.OnClickListener() {
         public void onClick(View arg0) {
            Intent callIntent = new Intent(Intent.ACTION_CALL);
            callIntent.setData(Uri.parse("tel:0377778888"));
        
            if (ActivityCompat.checkSelfPermission(MainActivity.this,
               Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
                  return;
               }
               startActivity(callIntent);
         }
      });

   }
}

 

در ادامه، محتویات res / layout / activity_main.xml قرار خواهد گرفت:

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical" >

   <Button
      android:id="@+id/buttonCall"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="call 0377778888" />

</LinearLayout>

 

به دنبال محتویات res / values / strings.xml خواهد بود تا دو ثابت جدید را تعریف کند:

 

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="app_name">My Application</string>
</resources>

 

به دنبال محتوای پیش فرض AndroidManifest.xml است:

 

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.saira_000.myapplication" >
   
   <uses-permission android:name="android.permission.CALL_PHONE" />
   
   <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name="com.example.saira_000.myapplication.MainActivity"
         android:label="@string/app_name" >
      
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      
      </activity>
      
   </application>
</manifest>

 

بیایید سعی کنیم برنامه  My Application را اجرا کنیم. فرض می کنم دستگاه Android Mobile واقعی خود را با رایانه خود وصل کرده اید. برای اجرای برنامه از Android Studio، یکی از فایل های فعالیت پروژه خود را باز کنید و روی آیکون RunEclipse Run Icon از نوار ابزار کلیک کنید. دستگاه تلفن همراه خود را به عنوان یک گزینه انتخاب کنید و سپس دستگاه تلفن همراه خود را که صفحه نمایش زیر را نمایش می دهد را بررسی کنید:

اکنون برای تماس تلفنی از مثال زیر استفاده کنید: