سلام دوستان عزیز ف امیدوارمکه خوب باشید . با آموزش تماس تلفنی Phone Calls در اندروید در خدمت شما هستم.بدین لحاظ که هر دستگاه اندروید، به ویژه تلفن های همراه ابزاری برای برقراری تماس می باشد، به هرحال لازم است شما برنامه ای بنویسید که به وسیله ی آن به یوزر خود این امکان را می دهید تا با استفاده از شماره تلفن های کد گذاری شده تماس برقرار کند.

این فصل از برنامه نویسی اندروید تمام مراحل ساده ی ایجاد برنامه ای را ارائه می دهد که می تواند برای برقراری تماس استفاده شود. با فراخوانی عملکرد داخلی Phone Call می توانید از Android Intent برای برقراری تماس استفاده کنید. بخش بعدی قسمتهای مختلف Intent object مورد نیاز مارا برای برقراری یک تماس توضیح می دهد.

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

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

Intent phoneIntent = new Intent(Intent.ACTION_CALL);

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

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

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

phoneIntent.setData(Uri.parse(“tel:91-800-001-0101”));

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

مثال

مثال زیر به طور عملی به شما نشان می دهد که چگونه با استفاده از Android Intent با شماره ی داده شده تماس برقرار کنید.

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

Step

Description

۱

شما از Eclipse IDE برای ایجاد یک برنامه ی اندروید استفاده خواهید کرد و آن را با عنوان PhoneCallDemo تحت یک پکیج com.example.phonecalldemo نامگذاری می کنید. در هنگام ایجاد این برنامه مطمئن شوید که SDK و Compile With را با آخرین ورژن هدف قرار داده اید تا از سطوح بالاتر API ها استفاده کنید.

۲

فایل src/MainActivity.java را تغییر دهید و کد لازم برای حفظ برقراری تماس را به آن بیفزایید.

۳

فایل لی اوت XML را به res/layout/activity_main.xml تغییر دهید و اگر لازم است مولفه ی GUI به آن اضافه کنید. من در حال افزودن یک دکمه ی ساده برای برقراری تماس با شماره ی ۹۱-۸۰۰-۰۰۱-۰۱۰۱ می باشم.

۴

res/values/strings.xml را تغییر دهید تا مقادیر ثابت مورد نیاز را تعریف کنید.

۵

AndroidManifest.xml را همان طور که در زیر نشان داده شده، تغییر دهید.

۶

برنامه را اجرا کنید تا مقلد اندروید شروع به کار کند و نتیجه ی تغییرات انجام شده در برنامه را بررسی کنید.

در زیر محتوای فعالیت فایل اصلی تغییر یافته را مشاهده می کنید.

src/com.example.phonecalldemo/MainActivity.java.

package com.example.phonecalldemo;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button startBtn = (Button) findViewById(R.id.makeCall);
startBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
makeCall();
}
});
}
protected void makeCall() {
Log.i(“Make call”, “”);
Intent phoneIntent = new Intent(Intent.ACTION_CALL);
phoneIntent.setData(Uri.parse(“tel:91-800-001-0101”));
try {
startActivity(phoneIntent);
finish();
Log.i(“Finished making a call…”, “”);
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(MainActivity.this,
“Call faild, please try again later.”, Toast.LENGTH_SHORT).show();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}

در ادامه محتوای فایل res/layout/activity_main.xml را مشاهده می کنید.

‎ ‎