کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش تماس تلفنی Phone Calls در اندروید

 

clip_image001

دوره آموزش برنامه نویسی اندروید

کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده می باشد و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.

 

آموزش تماس تلفنی  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_ نوع داده برای برقراری تماس

برای برقراری تماس با شماره ی داده شده ی 91-800-001-0101، لازم است که tel: را به عنوان URI مشخص کنید که از روش setData() استفاده می کند، مانند زیر

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

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

 مثال

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

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

Step  

Description  

1  

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

2  

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

3  

فایل لی اوت XML را به res/layout/activity_main.xml تغییر دهید و اگر لازم است  مولفه ی GUI به آن اضافه کنید. من در حال افزودن یک دکمه ی ساده برای برقراری تماس با شماره ی 91-800-001-0101 می باشم.

4  

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

5  

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

6  

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

 

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

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 را مشاهده می کنید.

<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/makeCall"

                 android:layout_width="fill_parent"

                 android:layout_height="wrap_content"

                 android:text="@string/make_call" />

</linearlayout>

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

<?xml version="1.0" encoding="utf-8" ?>

‎‎<resources>

         <string name="app_name">PhoneCallDemo</string>

        <string name="hello_world">Hello world!</string>

        <string name="action_settings">Settings</string>

        <string name="make_call">Call 91-800-001-0101</string>

</resources>

در زیر محتوای پیش فرض AndroidManifest.xml را مشاهده می کنید.

<?xml version="1.0" encoding="utf-8" ?>

‎‎<manifest xmlns:android="http://schemas.android.com/apk/res/android"

           package="com.example.phonecalldemo"

           android:versioncode="1"

           android:versionname="1.0">

             <uses-sdk android:minsdkversion="8"

                    android:targetsdkversion="17" />

       <uses-permission android:name="android.permission.CALL_PHONE" />

       <uses-permission android:name="android.permission.READ_PHONE_STATE" />

         <application android:allowbackup="true"

                       android:icon="@drawable/ic_launcher"

                       android:label="@string/app_name"

                       android:theme="@style/AppTheme">

                        <activity android:name="com.example.phonecalldemo.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>

 

اجازه بدهید برنامه ی PhoneCallDemo شما را اجرا کنیم. فرض می کنیم دستگاه موبایل شما به کامپیوتر متصل شده است. برای اجرای برنامه از Eclipse یکی از فایل های فعالیت برنامه ی خود را باز کرده و روی آیکن Run از تولبار کلیک کنید. قبل از شروع برنامه ی شما، Eclipse  پنجره ی زیر را نمایش خواهد داد تا یک گزینه را انتخاب کنید، جایی که می خواهید برنامه ی اندروید خود را اجرا کنید.

 

 

دستگاه موبایل خود را به عنوان یک گزینه انتخاب کنید و سپس آن را چک کنید که صفحه ی زیر را نمایش خواهد داد.

 

اکنون از دکمه ی Call 91-800-001-0101 استفاده کنید تا تماس برقرار کنید، به این شکل که در زیر مشاهده می کنید.

1394/07/27 6508 2332
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...