Thứ Năm, 17 tháng 1, 2019

Khóa học lập trình Android - Android - Cuộc gọi điện thoại

Khóa 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 một cuộc gọi điện thoại thông qua ứng dụng của mình.

Điều này có thể dễ dàng được thực hiện bằng cách sử dụng Ý định ngầm 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 các thay đổi trong một số trạng thái điện thoại trên thiết bị.

Khóa học lập trình Android
Khóa học lập trình Android

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 Khóa học lập trình 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 đây giải thích các phần khác nhau của đối tượng Ý định cần thiết để thực hiện cuộc gọi.

Mục đích ý định - 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ị Khóa học lập trình Android. Sau đây là cú pháp đơn giản để tạo ý định 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 cứng 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.

Đối tượng ý định - 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 theo số 91-000-000-0000 đã cho, bạn cần chỉ định tel: as 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 chỉ định bất kỳ dữ liệu hoặc loại dữ liệu bổ sung nào.

Ví dụ sau đây cho bạn thấy thực tế cách sử dụng Khóa học lập trình Android Intent để gọi điện thoại đến số điện thoại di động đã cho.

Để 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ĐH Android mới nhất, nếu không, bạn sẽ phải vật lộn với trình giả lập có thể không hoạt động.

Bậc thangSự miêu tả
1Bạn sẽ sử dụng IDE studio Android để 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ã cần thiết để thực hiện cuộc gọi.
3Sửa đổi bố cục tệp XML 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 xác định các hằng chuỗi mặc định.Android studio sẽ chăm sóc các hằng mặc định.
5Sửa đổi AndroidManifest.xml như hiển thị bên dưới
6Chạy ứng dụng để khởi chạy trình giả lập Android và xác minh kết quả của những 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 được 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 / value / chuỗi.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 Ứng dụng của tôi . Tôi giả sử bạn đã kết nối thiết bị Android Mobile thực tế của mình với máy tính.

Để chạy ứng dụng từ studio Khóa học lập trình Android, hãy mở một trong các tệp hoạt động của dự án và nhấp vào biểu tượng Chạy 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

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

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 ...