تماس های تلفنی در برنامه نویسی اندروید

4 سال پیش

تماس های تلفنی در برنامه نویسی اندروید

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

 

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

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

Intent Object – اقدام برای برقراری تماس های تلفنی در اندروید

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

Intent phoneIntent = new Intent(Intent.ACTION_CALL);

 

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

Intent Object – داده / نوع برقراری تماس تلفنی

برای برقراری تماس تلفنی با شماره معین ۹۱-۰۰۰-۰۰۰-۰۰۰۰ ، به عنوان URI با استفاده از متد ()setData به شرح زیر –

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

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

مثال

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

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

۱ شما برای ایجاد یک برنامه Android از Android studio IDE استفاده خواهید کرد و نام آن را به عنوان My Application تحت یک بسته com.example.saira_000.myapplication قرار دهید.
۲ پرونده src / MainActivity.java را اصلاح کرده و کد مورد نیاز را برای محافظت از برقراری تماس اضافه کنید.
۳ طرح XML را تغییر دهید فایل res / layout / activity_main.xml در صورت لزوم هر جز GUI اضافه کنید. من یک دکمه ساده به شماره تماس ۹۱-۰۰۰-۰۰۰-۰۰۰۰ اضافه می کنم
۴ نیازی به تعریف ثابت رشته های پیش فرض نیست. Android studio از ثابت های پیش فرض محافظت می کند.
۵ AndroidManifest.xml را مطابق شکل زیر تغییر دهید
۶ برنامه را اجرا کنید تا شبیه ساز اندروید را راه اندازی کرده و نتیجه تغییرات انجام شده در برنامه را تأیید کنید.

در زیر محتوای پرونده فعالیت اصلی تغییر یافته 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>

بیایید برنامه Tutorialspoint شما را اجرا کنیم. من تصور می کنم شما AVD خود را هنگام راه اندازی محیط ایجاد کرده اید. برای اجرای برنامه از Android studio، یکی از پرونده های فعالیت پروژه خود را باز کنید و از نوار ابزار روی Android StudioRun Icon کلیک کنید. Android Studio برنامه را روی AVD شما نصب کرده و شروع به کار می کند و اگر با تنظیمات و برنامه هایتان همه چیز خوب باشد، زیر پنجره شبیه ساز نمایش داده می شود.

همانطور که در زیر نشان داده شده است ، برای برقراری تماس تلفنی از دکمه Call استفاده کنید –

منبع.

لیست جلسات قبل آموزش برنامه نویسی اندروید

  1. نگاهی کلی به برنامه نویسی اندروید
  2. تنظیمات محیط  در برنامه نویسی اندروید
  3. معماری برنامه نویسی اندروید
  4. اجزای برنامه در برنامه نویسی اندروید
  5. Hello World در برنامه نویسی اندروید
  6. سازماندهی و دسترسی به منابع در برنامه نویسی اندروید
  7. فعالیت در برنامه نویسی اندروید
  8. سرویس در برنامه نویسی اندروید
  9. گیرنده های پخش در برنامه نویسی اندروید
  10. ارائه دهنده محتوا در برنامه نویسی اندروید
  11. قطعات در برنامه نویسی اندروید
  12. Intent و فیلتر در برنامه نویسی اندروید
  13. طرح بندی رابط کاربری در برنامه نویسی اندروید
  14. کنترل های رابط کاربری در برنامه نویسی اندروید
  15. مدیریت رویدادها در برنامه نویسی اندروید
  16. استایل و تم ها در برنامه نویسی اندروید
  17. اجزای سفارشی در برنامه نویسی اندروید
  18. کشیدن و رها کردن در برنامه نویسی اندروید
  19. نوتیفیکیشن ها در برنامه نویسی اندروید
  20. سرویس های مبتنی بر مکان در برنامه نویسی اندروید
  21. ارسال ایمیل در برنامه نویسی اندروید
  22. ارسال پیامک در برنامه نویسی اندروید
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه