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 ให้เปิดไฟล์กิจกรรมของโปรเจ็กต์ของคุณแล้วคลิก
ตอนนี้ใช้ Call ปุ่มโทรออกตามที่แสดงด้านล่าง -