Android-전화 통화

Android는 전화 통화를위한 내장 애플리케이션을 제공하며, 경우에 따라 애플리케이션을 통해 전화를 걸어야 할 수도 있습니다. 이는 적절한 조치와 함축 된 의도를 사용하여 쉽게 수행 할 수 있습니다. 또한 장치에서 일부 전화 통신 상태의 변경 사항을 모니터링하기 위해 PhoneStateListener 및 TelephonyManager 클래스를 사용할 수 있습니다.

이 장에서는 전화를 거는 데 사용할 수있는 응용 프로그램을 만드는 모든 간단한 단계를 나열합니다. Android Intent를 사용하여 Android에 내장 된 전화 통화 기능을 호출하여 전화를 걸 수 있습니다. 다음 섹션에서는 전화를 거는 데 필요한 Intent 개체의 여러 부분을 설명합니다.

의도 개체-전화를 걸기위한 작업

당신은 사용할 것입니다 ACTION_CALLAndroid 장치에서 사용할 수있는 내장 전화 통화 기능을 트리거하는 작업입니다. 다음은 ACTION_CALL 작업으로 인 텐트를 생성하는 간단한 구문입니다.

Intent phoneIntent = new Intent(Intent.ACTION_CALL);

당신이 사용할 수있는 ACTION_DIAL ACTION_CALL 대신 작업을 수행하면 직접 전화를 거는 대신 전화를 걸기 전에 하드 코딩 된 전화 번호를 수정할 수있는 옵션이 있습니다.

Intent Object-전화를 걸 데이터 / 유형

지정된 번호 91-000-000-0000으로 전화를 걸려면 다음을 지정해야합니다. tel: 다음과 같이 setData () 메소드를 사용하는 URI로-

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

흥미로운 점은 전화를 걸기 위해 추가 데이터 나 데이터 유형을 지정할 필요가 없다는 것입니다.

다음 예제는 Android Intent를 사용하여 주어진 휴대폰 번호로 전화를 거는 방법을 실제적으로 보여줍니다.

이 예제를 실험하려면 최신 Android OS가 장착 된 실제 모바일 장치가 필요합니다. 그렇지 않으면 작동하지 않을 수있는 에뮬레이터와 씨름해야합니다.
단계 기술
1 Android 스튜디오 IDE를 사용하여 Android 애플리케이션을 만들고 com.example.saira_000.myapplication 패키지 아래에서 My Application 으로 이름을 지정합니다 .
2 src / MainActivity.java 파일을 수정 하고 필요한 코드를 추가하여 호출을 처리합니다.
레이아웃 XML 파일 res / layout / activity_main.xml 수정 필요한 경우 GUI 구성 요소를 추가하십시오. 전화 91-000-000-0000 번호에 간단한 버튼을 추가하고 있습니다
4 기본 문자열 상수를 정의 할 필요가 없습니다. Android 스튜디오에서 기본 상수를 처리합니다.
5 아래와 같이 AndroidManifest.xml 을 수정 합니다.
6 애플리케이션을 실행하여 Android 에뮬레이터를 시작하고 애플리케이션에서 수행 한 변경 결과를 확인합니다.

다음은 수정 된 주요 활동 파일의 내용입니다. 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>

당신의 My Application신청. 실제 Android 모바일 장치를 컴퓨터에 연결했다고 가정합니다. Android 스튜디오에서 앱을 실행하려면 프로젝트의 활동 파일 중 하나를 열고

툴바에서 실행 아이콘을 클릭 합니다. 옵션으로 모바일 장치를 선택한 후 다음 화면이 표시되는 모바일 장치를 확인합니다.

이제 사용 Call 아래 그림과 같이 전화를 걸려면 버튼-