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 아래 그림과 같이 전화를 걸려면 버튼-