Các tính năng trong shortcuts.xml
cho phép bạn khai báo các loại hành động mà người dùng có thể thực hiện để khởi chạy ứng dụng và trực tiếp thực hiện một tác vụ cụ thể.
Ví dụ: Hành động trong ứng dụng Trợ lý Google sử dụng các tính năng thực hiện tác vụ để hỗ trợ nhà phát triển mở rộng các tính năng trong ứng dụng sang các ý định tích hợp (BII), qua đó cho phép người dùng kích hoạt và kiểm soát các tính năng đó bằng lệnh thoại. Tính năng thực hiện tác vụ bao gồm tên hành động và intent
nhắm đến đích đến trong ứng dụng mà sẽ giải quyết ý định của người dùng.
Định nghĩa tính năng thực hiện tác vụ trong shortcuts.xml
Bạn định nghĩa các phần tử capability
trong tệp tài nguyên shortcuts.xml
trong dự án phát triển ứng dụng Android. Để xác định phần tử capability
, hãy làm như sau:
- Tạo tài nguyên
shortcuts.xml
bằng cách làm theo hướng dẫn trong bài viết Tạo lối tắt tĩnh. Hãy thêm những thông tin bắt buộc sau vào tính năng thực hiện tác vụ:
Tên chức năng: hành động mà bạn muốn ứng dụng hỗ trợ. Hãy tham khảo tài liệu thành phần để biết về tính năng yêu cầu định nghĩa BII. Các lệnh hỗ trợ bằng giọng nói ở Hành động trong ứng dụng sẽ sử dụng BII
Action ID
cho tên tính năng. Bạn có thể tìm thấy tên này trong Tài liệu tham khảo về BII. Ví dụ: BIIGET_THING
đặt tên ý định củaAction ID
làactions.intent.GET_THING
.Đích đến của ứng dụng: đích đến trong ứng dụng mà hành động khởi chạy để hoàn tất yêu cầu của người dùng. Xác định các đích đến của ứng dụng bằng cách sử dụng phần tử
intent
được lồng trongcapability
.Liên kết tham số: mỗi
intent
có thể chứa các tham số sẽ được truyền dưới dạng dữ liệuextra
của ý định. Ví dụ: mỗi BII của Hành động trong ứng dụng bao gồm các trường đại diện cho thông tin người dùng thường cung cấp trong các lần truy vấn mà kích hoạt BII.
Ví dụ sau đây minh hoạ định nghĩa về tính năng thực hiện tác vụ trong shortcuts.xml
cho actions.intent.START_EXERCISE
, một BII cho phép người dùng sử dụng lệnh thoại thông qua Trợ lý Google để bắt đầu bài tập thể lực trong ứng dụng thể dục:
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<capability android:name="actions.intent.START_EXERCISE">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.sampleApp"
android:targetClass="com.example.sampleApp.ExerciseActivity">
<parameter
android:name="exercise.name"
android:key="exerciseType"/>
</intent>
</capability>
</shortcuts>
Trong ví dụ trước, thuộc tính <capability>
android:name
đề cập đến BII START_EXERCISE
. Nếu người dùng gọi BII này bằng cách hỏi Trợ lý Google, "Ok Google, bắt đầu bài tập chạy trong ExampleApp", Trợ lý sẽ thực hiện yêu cầu của người dùng bằng cách sử dụng
thông tin được cung cấp trong phần tử intent
lồng. intent
trong mẫu này định nghĩa các thông tin chi tiết sau:
android:targetPackage
thiết lập gói ứng dụng mục tiêu cho ý định này.- Trường
android:targetClass
chỉ định hoạt động tại đích đến:com.example.sampleApp.ExerciseActivity
. - Ý định
parameter
khai báo hỗ trợ cho tham số BIIexercise.name
và cách truyền giá trị tham số (thu thập được từ người dùng) dưới dạng dữ liệu bổ sung trongintent
.
Liên kết lối tắt với một tính năng thực hiện tác vụ
Sau khi xác định một chức năng, bạn có thể mở rộng chức năng của chức năng đó bằng cách liên kết với lối tắt tĩnh hoặc động. Cách liên kết các lối tắt với capability
phụ thuộc vào tính năng đang được triển khai và các từ mà người dùng sử dụng khi đưa ra yêu cầu. Ví dụ: khi người dùng bắt đầu chạy trong ứng dụng theo dõi hoạt động thể dục của bạn bằng cách hỏi Trợ lý: "Ok Google, hãy bắt đầu chạy trong ExampleApp." Trợ lý có thể sử dụng lối tắt để chạy một thực thể của capability
mà định nghĩa một hoạt động tập thể dục "chạy" hợp lệ cho tham số exercise.name
.
Để biết thêm thông tin về cách liên kết lối tắt với Hành động trong ứng dụng, hãy xem phần Tổng quan về Hành động trong ứng dụng.