Android - โทรศัพท์

Android มีแอปพลิเคชันในตัวสำหรับการโทรในบางครั้งเราอาจต้องโทรผ่านแอปพลิเคชันของเรา สิ่งนี้สามารถทำได้อย่างง่ายดายโดยใช้เจตนาโดยปริยายกับการกระทำที่เหมาะสม นอกจากนี้เรายังสามารถใช้คลาส PhoneStateListener และ TelephonyManager เพื่อตรวจสอบการเปลี่ยนแปลงของสถานะโทรศัพท์บางอย่างบนอุปกรณ์

บทนี้แสดงขั้นตอนง่ายๆทั้งหมดในการสร้างแอพพลิเคชั่นที่สามารถใช้ในการโทรออก คุณสามารถใช้ Android Intent เพื่อโทรออกโดยการโทรฟังก์ชันการโทรในตัวของ Android ส่วนต่อไปนี้จะอธิบายถึงส่วนต่างๆของวัตถุแสดงเจตจำนงของเราที่จำเป็นในการโทร

Intent Object - การดำเนินการเพื่อโทรออก

คุณจะใช้ ACTION_CALLการดำเนินการเพื่อเรียกใช้ฟังก์ชันการโทรในตัวที่มีอยู่ในอุปกรณ์ Android ต่อไปนี้เป็นไวยากรณ์ง่ายๆในการสร้างจุดประสงค์ด้วยการกระทำ ACTION_CALL

Intent phoneIntent = new Intent(Intent.ACTION_CALL);

คุณสามารถใช้ได้ ACTION_DIAL ดำเนินการแทน ACTION_CALL ในกรณีนี้คุณจะมีตัวเลือกในการแก้ไขหมายเลขโทรศัพท์ที่เข้ารหัสก่อนทำการโทรแทนการโทรโดยตรง

วัตถุเจตนา - ข้อมูล / ประเภทเพื่อโทรออก

หากต้องการโทรออกที่หมายเลข 91-000-000-0000 คุณต้องระบุ tel: เป็น URI โดยใช้เมธอด setData () ดังนี้ -

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

ประเด็นที่น่าสนใจคือในการโทรออกคุณไม่จำเป็นต้องระบุข้อมูลเพิ่มเติมหรือประเภทข้อมูลใด ๆ

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงวิธีใช้ Android Intent เพื่อโทรไปยังหมายเลขโทรศัพท์มือถือที่กำหนด

ในการทดลองกับตัวอย่างนี้คุณจะต้องมีอุปกรณ์มือถือจริงที่ติดตั้งระบบปฏิบัติการ Android ล่าสุดมิฉะนั้นคุณจะต้องต่อสู้กับโปรแกรมจำลองซึ่งอาจไม่ทำงาน
ขั้นตอน คำอธิบาย
1 คุณจะใช้ Android สตูดิโอ IDE ในการสร้างแอพลิเคชัน Android และชื่อเป็นแอพลิเคชันของฉันภายใต้แพคเกจcom.example.saira_000.myapplication
2 แก้ไขไฟล์src / MainActivity.javaและเพิ่มรหัสที่จำเป็นเพื่อดูแลการโทร
3 แก้ไขไฟล์ 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 studio ให้เปิดไฟล์กิจกรรมของโปรเจ็กต์ของคุณแล้วคลิก

ไอคอนRun จากแถบเครื่องมือเลือกอุปกรณ์มือถือของคุณเป็นตัวเลือกจากนั้นตรวจสอบอุปกรณ์มือถือของคุณซึ่งจะแสดงหน้าจอต่อไปนี้ -

ตอนนี้ใช้ Call ปุ่มโทรออกตามที่แสดงด้านล่าง -