سلام دوستان عزیز ف امیدوارمکه خوب باشید . با آموزش تماس تلفنی 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 را مشاهده می کنید.
در زیر محتوای res/values/strings.xml را برای تعریف دو ثابت جدید مشاهده خواهید کرد.
PhoneCallDemo
Hello world!
Settings
Call 91-800-001-0101
در زیر محتوای پیش فرض AndroidManifest.xml را مشاهده می کنید.
اجازه بدهید برنامه ی PhoneCallDemo شما را اجرا کنیم. فرض می کنیم دستگاه موبایل شما به کامپیوتر متصل شده است. برای اجرای برنامه از Eclipse یکی از فایل های فعالیت برنامه ی خود را باز کرده و روی آیکن Run از تولبار کلیک کنید. قبل از شروع برنامه ی شما، Eclipse پنجره ی زیر را نمایش خواهد داد تا یک گزینه را انتخاب کنید، جایی که می خواهید برنامه ی اندروید خود را اجرا کنید.
دستگاه موبایل خود را به عنوان یک گزینه انتخاب کنید و سپس آن را چک کنید که صفحه ی زیر را نمایش خواهد داد.
اکنون از دکمه ی Call 91-800-001-0101 استفاده کنید تا تماس برقرار کنید، به این شکل که در زیر مشاهده می کنید.