نحوه برقرار کردن تماس تلفنی در نرم افزارهای اندرویدی را در این مقاله مطالعه میکنیم.
اندروید امکان برقراری تماس تلفنی از طریق نرم افزار را فراهم می آورد. بنابراین ما میتوانیم در صورت درخواست مشتری به نرم افزار اجازه برقراری تماس را بدهیم. انجام اینکار با یک اینتنت قابل انجام است. ما میتوانیم از کلاس های PhoneStateListener و TelephonyManager نیز استفاده کنیم. این کلاس ها به ما امکان چیدمان و یا مانیتور کردن تلفن های دستگاه را به ما خواهند داد.
در این آموزش چندگام ساده برای ایجاد یک نرم افزار و تماس تلفنی از طریق آن را طی خواهیم کرد . شما میتوانید از اینتنت های اندروید برای ایجاد یک تماس تلفنی با فراخوانی عملگر built-in Phone Call استفاده کنید. در کد های زیر ما بخش های دیگری از شیئ اینتنت را برای ایجاد تماس تلفنی توضیح داده ایم.
شیئ اینتنت ، اکشن برقراری تماس تلفنی
از اکشن ACTION_CALL برای اتصال به عملگر تماس تلفنی استفاده خواهیم کرد. در مثال زیر از شیئ اینتنت با اکشن ACTION_CALL استفاده کرده ایم.
Intent phoneIntent = new Intent(Intent.ACTION_CALL);
شما میتوانید از اکشن ACTION_DIAL بجای ACTION_CALL استفاده کنید. در این صورت شما باید شماره تلفن را وارد کنید، بجای اینکه تماس مستقیم برقرار کنید.
شیئ اینتنت - Data/Type برای تماس تلفنی
برای تماس تلفنی با شما ره تلفن 0000-000-000-91 ، شما باید تلفن را مشخص کنید. برای اینکار URI از متد setData() بصورت زیر استفاده کنید:
phoneIntent.setData(Uri.parse("tel:91-000-000-0000"));
نقطه جالب این است که برای تماس تلفنی نیازی به هیچ داده اضافه یا data type نیست .
مثال
مثال زیر ، نشان میدهد که چگونه از اینتنت اندروید برای برقرای تماس با یک شماره مشخص میتوانیم استفاده کنیم.
برای انجام این مثال به یک گوشی اندروید با آخرین نسخه سیستم عامل اندروید نیاز دارید. شبیه ساز تنها ظاهر نرم افزار را چک خواهد کرد و نرم افزار بدرستی در شبیه ساز اجرا نخواهد شد.
شماره
|
توضیحات
|
1
|
در نرم افزار اندروید استودیو یک نرم افزار به نام My Application در زیر شاخه com.example.saira_000.myapplication ایجاد کنید
|
2
|
فایل src/MainActivity.java را ویرایش کنید.و کد درخواستی را وارد کنید تا تماس برقرار شود.
|
3
|
فایل res/layout/activity_main.xml را ویرایش کنید و دکمه تماس با 91-000-000-0000 را اضافه کنید.
|
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>
برای اجرای نرم افزار یک اکتویتی را باز کرده و روی دکمه Run در نوار ابزار کلیک کنید. از پنجره باز شده گوشی موبایل را انتخاب کنید. اگر نرم افزار مشکلی خاصی نداشته باشد، پنجره زیر را مشاهده می کنید:
با کلیک کردن روی Call تصویر زیر مشاهده میشود:
براي بهره مندي از مشاوره تخصصي در زمینه برنامه نویسی اندروید در کرج با شرکت سارگون تماس بگيريد.