Thứ Sáu, 24 tháng 8, 2018

Android - Cuộc gọi điện thoại

Học lập trình Android cung cấp các ứng dụng tích hợp cho các cuộc gọi điện thoại, trong một số trường hợp, chúng tôi có thể cần thực hiện cuộc gọi điện thoại thông qua ứng dụng của chúng tôi.

Điều này có thể dễ dàng được thực hiện bằng cách sử dụng Intent ngầm định với các hành động thích hợp. Ngoài ra, chúng ta có thể sử dụng các lớp PhoneStateListener và TelephonyManager, để theo dõi những thay đổi ở một số trạng thái điện thoại trên thiết bị.

Chương này liệt kê tất cả các bước đơn giản để tạo một ứng dụng có thể được sử dụng để thực hiện cuộc gọi điện thoại. 

Bạn có thể sử dụng Android Intent để thực hiện cuộc gọi điện thoại bằng cách gọi chức năng Gọi điện thoại tích hợp của Android. Phần sau giải thích các phần khác nhau của đối tượng Intent của chúng tôi cần thiết để thực hiện cuộc gọi.

Intent Object - Hành động thực hiện cuộc gọi điện thoại

Bạn sẽ sử dụng hành động ACTION_CALL để kích hoạt chức năng gọi điện thoại tích hợp sẵn có trong thiết bị Android. Sau đây là cú pháp đơn giản để tạo mục đích với hành động ACTION_CALL
Intent phoneIntent = new Intent(Intent.ACTION_CALL);

Bạn có thể sử dụng hành động ACTION_DIAL thay vì ACTION_CALL, trong trường hợp đó, bạn sẽ có tùy chọn sửa đổi số điện thoại được mã hóa trước khi thực hiện cuộc gọi thay vì thực hiện cuộc gọi trực tiếp.

Mục tiêu đối tượng - Dữ liệu / Loại để thực hiện cuộc gọi điện thoại

Để thực hiện cuộc gọi điện thoại tại một số 91-000-000-0000, bạn cần chỉ định tel: làm URI bằng phương thức setData () như sau:
phoneIntent.setData(Uri.parse("tel:91-000-000-0000"));
Điểm thú vị là, để thực hiện cuộc gọi điện thoại, bạn không cần phải chỉ định thêm bất kỳ dữ liệu hoặc kiểu dữ liệu nào.

Thí dụ

Ví dụ sau đây cho bạn thấy cách sử dụng Android Intent để thực hiện cuộc gọi điện thoại đến số điện thoại di động nhất định.

Để thử nghiệm với ví dụ này, bạn sẽ cần thiết bị di động thực tế được trang bị hệ điều hành Android mới nhất, nếu không bạn sẽ phải đấu tranh với trình mô phỏng có thể không hoạt động.

Bậc thangSự miêu tả
1Bạn sẽ sử dụng Android studio IDE để tạo ứng dụng Android và đặt tên làỨng dụng của tôi theo gói com.example.saira_000.myapplication .
2Sửa đổi tệp src / MainActivity.java và thêm mã yêu cầu để thực hiện cuộc gọi.
3Sửa đổi tệp XML bố trí res / layout / activity_main.xml thêm bất kỳ thành phần GUI nào nếu cần. Tôi đang thêm một nút đơn giản để Gọi số 91-000-000-0000
4Không cần phải xác định hằng số chuỗi mặc định.Android studio sẽ xử lý các hằng số mặc định.
5Sửa đổi AndroidManifest.xml như hình dưới đây
6Chạy ứng dụng để khởi chạy trình giả lập Android và xác minh kết quả của các thay đổi được thực hiện trong ứng dụng.
Sau đây là nội dung của tệp hoạt động chính đã sửa đổi 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);
         }
      });

   }
}
Sau đây sẽ là nội dung của tệp 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>
Sau đây sẽ là nội dung của res / values ​​/ strings.xml để xác định hai hằng số mới -
<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="app_name">My Application</string>
</resources>
Sau đây là nội dung mặc định của 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>
Hãy thử chạy ứng dụng My Application của bạn . Tôi cho rằng bạn đã kết nối thiết bị Android Mobile thực tế với máy tính của mình.

Để chạy ứng dụng từ Android studio, mở một trong các tệp hoạt động của dự án và nhấp vào Chạy biểu tượng từ thanh công cụ.

Chọn thiết bị di động của bạn làm tùy chọn và sau đó kiểm tra thiết bị di động của bạn sẽ hiển thị màn hình sau đây

lập trình android

Bây giờ sử dụng nút Gọi để thực hiện cuộc gọi điện thoại như hình dưới đây

lập trình android

Không có nhận xét nào:

Đăng nhận xét

Lập trình Android - RenderScript

Trong chương này, chúng ta sẽ tìm hiểu về Android RenderScript. Thông thường các ứng dụng trên Android được thiết kế để tiêu thụ tài nguyên ...